eslint-plugin-smarthr 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/package.json +2 -2
- package/rules/a11y-anchor-has-href-attribute/index.js +1 -0
- package/rules/a11y-clickable-element-has-text/index.js +1 -0
- package/rules/a11y-delegate-element-has-role-presentation/index.js +2 -0
- package/rules/a11y-form-control-in-form/index.js +1 -0
- package/rules/a11y-heading-in-sectioning-content/README.md +16 -1
- package/rules/a11y-heading-in-sectioning-content/index.js +7 -2
- package/rules/a11y-help-link-with-support-href/index.js +2 -1
- package/rules/a11y-image-has-alt-attribute/index.js +2 -0
- package/rules/a11y-input-has-name-attribute/index.js +6 -3
- package/rules/a11y-input-in-form-control/index.js +11 -4
- package/rules/a11y-numbered-text-within-ol/index.js +5 -0
- package/rules/a11y-prohibit-checkbox-or-radio-in-table-cell/index.js +2 -1
- package/rules/a11y-prohibit-input-maxlength-attribute/index.js +5 -4
- package/rules/a11y-prohibit-input-placeholder/index.js +7 -3
- package/rules/a11y-prohibit-sectioning-content-in-form/index.js +2 -0
- package/rules/a11y-prohibit-useless-sectioning-fragment/index.js +2 -1
- package/rules/a11y-trigger-has-button/index.js +4 -2
- package/rules/best-practice-for-async-current-target/index.js +2 -2
- package/rules/best-practice-for-button-element/index.js +1 -0
- package/rules/best-practice-for-data-test-attribute/index.js +1 -0
- package/rules/best-practice-for-date/index.js +2 -0
- package/rules/best-practice-for-layouts/index.js +22 -10
- package/rules/best-practice-for-nested-attributes-array-index/index.js +1 -0
- package/rules/best-practice-for-remote-trigger-dialog/index.js +2 -1
- package/rules/best-practice-for-tailwind-prohibit-root-margin/index.js +2 -1
- package/rules/best-practice-for-tailwind-variants/index.js +6 -3
- package/rules/component-name/README.md +11 -3
- package/rules/component-name/index.js +7 -2
- package/rules/design-system-guideline-prohibit-double-icons/index.js +1 -0
- package/rules/format-import-path/index.js +2 -1
- package/rules/jsx-start-with-spread-attributes/index.js +2 -1
- package/rules/no-import-other-domain/index.js +2 -1
- package/rules/prohibit-export-array-type/index.js +1 -0
- package/rules/prohibit-file-name/index.js +2 -1
- package/rules/prohibit-import/index.js +4 -2
- package/rules/prohibit-path-within-template-literal/index.js +2 -1
- package/rules/require-barrel-import/index.js +2 -1
- package/rules/require-declaration/index.js +4 -2
- package/rules/require-export/index.js +2 -1
- package/rules/require-i18n-text/index.js +4 -2
- package/rules/require-import/index.js +2 -1
- package/rules/trim-props/index.js +2 -1
- package/test/a11y-anchor-has-href-attribute.js +1 -0
- package/test/a11y-clickable-element-has-text.js +1 -0
- package/test/a11y-delegate-element-has-role-presentation.js +2 -0
- package/test/a11y-form-control-in-form.js +1 -0
- package/test/a11y-heading-in-sectioning-content.js +7 -2
- package/test/a11y-help-link-with-support-href.js +2 -1
- package/test/a11y-image-has-alt-attribute.js +2 -0
- package/test/a11y-input-has-name-attribute.js +30 -15
- package/test/a11y-input-in-form-control.js +15 -1
- package/test/a11y-numbered-text-within-ol.js +29 -0
- package/test/a11y-prohhibit-input-placeholder.js +19 -9
- package/test/a11y-prohibit-checkbox-or-radio-in-table-cell.js +21 -11
- package/test/a11y-prohibit-input-maxlength-attribute.js +5 -4
- package/test/a11y-prohibit-useless-sectioning-fragment.js +2 -1
- package/test/a11y-trigger-has-button.js +12 -6
- package/test/best-practice-for-async-current-target.js +2 -2
- package/test/best-practice-for-button-element.js +2 -0
- package/test/best-practice-for-data-test-attribute.js +1 -0
- package/test/best-practice-for-date.js +2 -0
- package/test/best-practice-for-layouts.js +26 -12
- package/test/best-practice-for-nested-attributes-array-index.js +1 -0
- package/test/best-practice-for-remote-trigger-dialog.js +6 -3
- package/test/best-practice-for-tailwind-prohibit-root-margin.js +2 -2
- package/test/best-practice-for-tailwind-variants.js +8 -4
- package/test/component-name.js +7 -2
- package/test/design-system-guideline-prohibit-double-icons.js +1 -0
- package/test/prohibit-file-name.js +4 -2
- package/test/prohibit-import.js +14 -7
- package/test/prohibit-path-within-template-literal.js +4 -2
- package/test/require-declaration.js +11 -5
- package/test/require-export.js +6 -3
- package/test/require-i18n-text.js +4 -3
- package/test/require-import.js +13 -7
- package/test/trim-props.js +18 -15
|
@@ -32,7 +32,8 @@ ruleTester.run('prohibit-file-name', rule, {
|
|
|
32
32
|
'hoge\.js': 'any message.',
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
|
-
errors: [{ message:
|
|
35
|
+
errors: [{ message: `any message.
|
|
36
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-file-name` }]
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
code: 'const any = "code"',
|
|
@@ -42,7 +43,8 @@ ruleTester.run('prohibit-file-name', rule, {
|
|
|
42
43
|
'(hoge|fuga)\.js': '$1.jsは作成しないで!',
|
|
43
44
|
}
|
|
44
45
|
],
|
|
45
|
-
errors: [{ message:
|
|
46
|
+
errors: [{ message: `hoge.jsは作成しないで!
|
|
47
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-file-name` }]
|
|
46
48
|
},
|
|
47
49
|
]
|
|
48
50
|
})
|
package/test/prohibit-import.js
CHANGED
|
@@ -105,7 +105,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
105
105
|
},
|
|
106
106
|
}
|
|
107
107
|
],
|
|
108
|
-
errors: [{ message:
|
|
108
|
+
errors: [{ message: `lodash は利用しないでください
|
|
109
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
109
110
|
},
|
|
110
111
|
{
|
|
111
112
|
code: `import { isEqual } from 'lodash'`,
|
|
@@ -119,7 +120,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
119
120
|
},
|
|
120
121
|
}
|
|
121
122
|
],
|
|
122
|
-
errors: [{ message:
|
|
123
|
+
errors: [{ message: `lodash は利用しないでください
|
|
124
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
123
125
|
},
|
|
124
126
|
{
|
|
125
127
|
code: `import { isEqual } from 'lodash'`,
|
|
@@ -133,7 +135,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
133
135
|
},
|
|
134
136
|
}
|
|
135
137
|
],
|
|
136
|
-
errors: [{message:
|
|
138
|
+
errors: [{message: `lodash/isEqual は利用しないでください
|
|
139
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
137
140
|
},
|
|
138
141
|
{
|
|
139
142
|
code: `import { isEqual } from 'lodash'`,
|
|
@@ -148,7 +151,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
148
151
|
},
|
|
149
152
|
}
|
|
150
153
|
],
|
|
151
|
-
errors: [{message:
|
|
154
|
+
errors: [{message: `must not use lodash/isEqual
|
|
155
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
152
156
|
},
|
|
153
157
|
{
|
|
154
158
|
code: `import { isEqual } from 'lodash'`,
|
|
@@ -166,7 +170,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
166
170
|
},
|
|
167
171
|
}
|
|
168
172
|
],
|
|
169
|
-
errors: [{message:
|
|
173
|
+
errors: [{message: `must not use lodash/isEqual
|
|
174
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
170
175
|
},
|
|
171
176
|
{
|
|
172
177
|
code: `import { isEqual } from 'lodash'`,
|
|
@@ -184,7 +189,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
184
189
|
},
|
|
185
190
|
}
|
|
186
191
|
],
|
|
187
|
-
errors: [{message:
|
|
192
|
+
errors: [{message: `must not use lodash/isEqual
|
|
193
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
188
194
|
},
|
|
189
195
|
{
|
|
190
196
|
code: `import { isEqual } from './module/validator'`,
|
|
@@ -198,7 +204,8 @@ ruleTester.run('prohibit-import', rule, {
|
|
|
198
204
|
},
|
|
199
205
|
}
|
|
200
206
|
],
|
|
201
|
-
errors: [{ message:
|
|
207
|
+
errors: [{ message: `./module/validator/isEqual は利用しないでください
|
|
208
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-import` }]
|
|
202
209
|
},
|
|
203
210
|
]
|
|
204
211
|
})
|
|
@@ -22,12 +22,14 @@ ruleTester.run('prohibit-path-within-template-literal', rule, {
|
|
|
22
22
|
invalid: [
|
|
23
23
|
{
|
|
24
24
|
code: '`${path.hoge}`',
|
|
25
|
-
errors: [{ message:
|
|
25
|
+
errors: [{ message: `path.hogeは \`\` で囲まないでください。queryStringを結合するなどのURL生成は path.hoge 内で行います。 (例: path.hoge({ query: { hoge: 'abc' } })
|
|
26
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-path-within-template-literal` }]
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
29
|
code: '`${ABC.hoge()}${hogehoge}`',
|
|
29
30
|
options: [{ pathRegex: '^ABC$' }],
|
|
30
|
-
errors: [{ message:
|
|
31
|
+
errors: [{ message: `ABC.hogeは \`\` で囲まないでください。queryStringを結合するなどのURL生成は ABC.hoge 内で行います。 (例: ABC.hoge({ query: { hoge: 'abc' } })
|
|
32
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/prohibit-path-within-template-literal` }]
|
|
31
33
|
},
|
|
32
34
|
]
|
|
33
35
|
})
|
|
@@ -90,7 +90,8 @@ ruleTester.run('format-translate-component', rule, {
|
|
|
90
90
|
},
|
|
91
91
|
}
|
|
92
92
|
],
|
|
93
|
-
errors: [{ message:
|
|
93
|
+
errors: [{ message: `const fugaが宣言されていません
|
|
94
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }],
|
|
94
95
|
},
|
|
95
96
|
{
|
|
96
97
|
code: 'const hoge = any',
|
|
@@ -105,7 +106,8 @@ ruleTester.run('format-translate-component', rule, {
|
|
|
105
106
|
},
|
|
106
107
|
}
|
|
107
108
|
],
|
|
108
|
-
errors: [{ message:
|
|
109
|
+
errors: [{ message: `fugaを定義しろ!
|
|
110
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }],
|
|
109
111
|
},
|
|
110
112
|
{
|
|
111
113
|
code: 'const hoge = abc',
|
|
@@ -120,7 +122,8 @@ ruleTester.run('format-translate-component', rule, {
|
|
|
120
122
|
},
|
|
121
123
|
}
|
|
122
124
|
],
|
|
123
|
-
errors: [{ message:
|
|
125
|
+
errors: [{ message: `const hoge では fuga を利用してください
|
|
126
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }],
|
|
124
127
|
},
|
|
125
128
|
{
|
|
126
129
|
code: 'let hoge = () => undefined',
|
|
@@ -135,7 +138,9 @@ ruleTester.run('format-translate-component', rule, {
|
|
|
135
138
|
},
|
|
136
139
|
}
|
|
137
140
|
],
|
|
138
|
-
errors: [{ message:
|
|
141
|
+
errors: [{ message: `arrow-function hoge では num を利用してください
|
|
142
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }, { message: `arrow-function hoge では parseInt(num, 10) を利用してください
|
|
143
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }],
|
|
139
144
|
},
|
|
140
145
|
{
|
|
141
146
|
code: 'let hoge = () => undefined',
|
|
@@ -151,7 +156,8 @@ ruleTester.run('format-translate-component', rule, {
|
|
|
151
156
|
},
|
|
152
157
|
}
|
|
153
158
|
],
|
|
154
|
-
errors: [{ message:
|
|
159
|
+
errors: [{ message: `hoge関数は \`const hoge = (num) => { const temp = parseInt(num, 10); /* any code. */ }\` のように定義してください
|
|
160
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-declaration` }],
|
|
155
161
|
},
|
|
156
162
|
]
|
|
157
163
|
})
|
package/test/require-export.js
CHANGED
|
@@ -62,7 +62,8 @@ ruleTester.run('require-export', rule, {
|
|
|
62
62
|
'^.+$': ['fuga'],
|
|
63
63
|
}
|
|
64
64
|
],
|
|
65
|
-
errors: [{ message:
|
|
65
|
+
errors: [{ message: `fuga をexportしてください
|
|
66
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-export` }],
|
|
66
67
|
},
|
|
67
68
|
{
|
|
68
69
|
code: `export const hoge = {}`,
|
|
@@ -71,7 +72,8 @@ ruleTester.run('require-export', rule, {
|
|
|
71
72
|
'^.+$': ['fuga'],
|
|
72
73
|
}
|
|
73
74
|
],
|
|
74
|
-
errors: [{ message:
|
|
75
|
+
errors: [{ message: `fuga をexportしてください
|
|
76
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-export` }],
|
|
75
77
|
},
|
|
76
78
|
{
|
|
77
79
|
code: `const hoge = {}; export { hoge }`,
|
|
@@ -80,7 +82,8 @@ ruleTester.run('require-export', rule, {
|
|
|
80
82
|
'^.+$': ['default'],
|
|
81
83
|
}
|
|
82
84
|
],
|
|
83
|
-
errors: [{ message:
|
|
85
|
+
errors: [{ message: `default をexportしてください
|
|
86
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-export` }],
|
|
84
87
|
},
|
|
85
88
|
]
|
|
86
89
|
})
|
|
@@ -11,9 +11,10 @@ const ruleTester = new RuleTester({
|
|
|
11
11
|
},
|
|
12
12
|
})
|
|
13
13
|
|
|
14
|
-
const attributeError = (element, attr) =>
|
|
15
|
-
|
|
16
|
-
const childTextError =
|
|
14
|
+
const attributeError = (element, attr) => `${element}の${attr}属性に文字列リテラルが指定されています。多言語化対応のため、翻訳関数を使用してください
|
|
15
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-i18n-text`
|
|
16
|
+
const childTextError = `子要素に文字列リテラルが指定されています。多言語化対応のため、翻訳関数を使用してください
|
|
17
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-i18n-text`
|
|
17
18
|
|
|
18
19
|
const options = [
|
|
19
20
|
{
|
package/test/require-import.js
CHANGED
|
@@ -66,7 +66,8 @@ ruleTester.run('require-import', rule, {
|
|
|
66
66
|
},
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
|
-
errors: [{ message:
|
|
69
|
+
errors: [{ message: `lodash/isEqual を絶対使ってください
|
|
70
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
70
71
|
},
|
|
71
72
|
{
|
|
72
73
|
code: `import { chunk } from 'lodash'`,
|
|
@@ -108,7 +109,8 @@ ruleTester.run('require-import', rule, {
|
|
|
108
109
|
},
|
|
109
110
|
}
|
|
110
111
|
],
|
|
111
|
-
errors: [{ message:
|
|
112
|
+
errors: [{ message: `lodash をimportしてください
|
|
113
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
112
114
|
},
|
|
113
115
|
{
|
|
114
116
|
code: ``,
|
|
@@ -122,7 +124,8 @@ ruleTester.run('require-import', rule, {
|
|
|
122
124
|
},
|
|
123
125
|
}
|
|
124
126
|
],
|
|
125
|
-
errors: [{ message:
|
|
127
|
+
errors: [{ message: `lodash をimportしてください
|
|
128
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
126
129
|
},
|
|
127
130
|
{
|
|
128
131
|
code: ``,
|
|
@@ -137,7 +140,8 @@ ruleTester.run('require-import', rule, {
|
|
|
137
140
|
},
|
|
138
141
|
}
|
|
139
142
|
],
|
|
140
|
-
errors: [{ message:
|
|
143
|
+
errors: [{ message: `lodash を絶対使ってください
|
|
144
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
141
145
|
},
|
|
142
146
|
{
|
|
143
147
|
code: ``,
|
|
@@ -152,7 +156,8 @@ ruleTester.run('require-import', rule, {
|
|
|
152
156
|
},
|
|
153
157
|
}
|
|
154
158
|
],
|
|
155
|
-
errors: [{ message:
|
|
159
|
+
errors: [{ message: `lodash/isEqual を絶対使ってください
|
|
160
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
156
161
|
},
|
|
157
162
|
{
|
|
158
163
|
code: `import { chunk } from 'lodash'`,
|
|
@@ -167,7 +172,8 @@ ruleTester.run('require-import', rule, {
|
|
|
167
172
|
},
|
|
168
173
|
}
|
|
169
174
|
],
|
|
170
|
-
errors: [{ message:
|
|
175
|
+
errors: [{ message: `lodash/isEqual を絶対使ってください
|
|
176
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/require-import` }],
|
|
171
177
|
},
|
|
172
178
|
{
|
|
173
179
|
code: `import { isEqual } from './module/validator'`,
|
|
@@ -181,7 +187,7 @@ ruleTester.run('require-import', rule, {
|
|
|
181
187
|
},
|
|
182
188
|
}
|
|
183
189
|
],
|
|
184
|
-
errors: [{ message: /module\/validator\/isEqual をimport
|
|
190
|
+
errors: [{ message: /module\/validator\/isEqual をimportしてください/ }],
|
|
185
191
|
},
|
|
186
192
|
]
|
|
187
193
|
})
|
package/test/trim-props.js
CHANGED
|
@@ -11,6 +11,9 @@ const ruleTester = new RuleTester({
|
|
|
11
11
|
},
|
|
12
12
|
})
|
|
13
13
|
|
|
14
|
+
const ERROR_MESSAGE = `属性に設定している文字列から先頭、末尾の空白文字を削除してください
|
|
15
|
+
- 詳細: https://github.com/kufu/tamatebako/tree/master/packages/eslint-plugin-smarthr/rules/trim-props`
|
|
16
|
+
|
|
14
17
|
ruleTester.run('trim-props', rule, {
|
|
15
18
|
valid: [
|
|
16
19
|
{ code: '<a href="https://www.google.com">google</a>' },
|
|
@@ -25,73 +28,73 @@ ruleTester.run('trim-props', rule, {
|
|
|
25
28
|
{
|
|
26
29
|
code: '<a href=" https://www.google.com">google</a>',
|
|
27
30
|
output: '<a href="https://www.google.com">google</a>',
|
|
28
|
-
errors: [{ message:
|
|
31
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
29
32
|
},
|
|
30
33
|
{
|
|
31
34
|
code: '<a href="https://www.google.com ">google</a>',
|
|
32
35
|
output: '<a href="https://www.google.com">google</a>',
|
|
33
|
-
errors: [{ message:
|
|
36
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
34
37
|
},
|
|
35
38
|
{
|
|
36
39
|
code: '<a href=" https://www.google.com ">google</a>',
|
|
37
40
|
output: '<a href="https://www.google.com">google</a>',
|
|
38
|
-
errors: [{ message:
|
|
41
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
39
42
|
},
|
|
40
43
|
{
|
|
41
44
|
code: '<a href={" https://www.google.com"}>google</a>',
|
|
42
45
|
output: '<a href={"https://www.google.com"}>google</a>',
|
|
43
|
-
errors: [{ message:
|
|
46
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
44
47
|
},
|
|
45
48
|
{
|
|
46
49
|
code: '<a href={"https://www.google.com "}>google</a>',
|
|
47
50
|
output: '<a href={"https://www.google.com"}>google</a>',
|
|
48
|
-
errors: [{ message:
|
|
51
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
49
52
|
},
|
|
50
53
|
{
|
|
51
54
|
code: '<a href={" https://www.google.com "}>google</a>',
|
|
52
55
|
output: '<a href={"https://www.google.com"}>google</a>',
|
|
53
|
-
errors: [{ message:
|
|
56
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
54
57
|
},
|
|
55
58
|
{
|
|
56
59
|
code: '<img src=" /sample.jpg" alt="sample " />',
|
|
57
60
|
output: '<img src="/sample.jpg" alt="sample" />',
|
|
58
61
|
errors: [
|
|
59
|
-
{ message:
|
|
60
|
-
{ message:
|
|
62
|
+
{ message: ERROR_MESSAGE },
|
|
63
|
+
{ message: ERROR_MESSAGE },
|
|
61
64
|
],
|
|
62
65
|
},
|
|
63
66
|
{
|
|
64
67
|
code: `<img src={' /sample.jpg'} alt={'sample '} />`,
|
|
65
68
|
output: `<img src={'/sample.jpg'} alt={'sample'} />`,
|
|
66
69
|
errors: [
|
|
67
|
-
{ message:
|
|
68
|
-
{ message:
|
|
70
|
+
{ message: ERROR_MESSAGE },
|
|
71
|
+
{ message: ERROR_MESSAGE },
|
|
69
72
|
],
|
|
70
73
|
},
|
|
71
74
|
{
|
|
72
75
|
code: '<div data-spec=" info-area ">....</div>',
|
|
73
76
|
output: '<div data-spec="info-area">....</div>',
|
|
74
|
-
errors: [{ message:
|
|
77
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
75
78
|
},
|
|
76
79
|
{
|
|
77
80
|
code: '<div data-spec={" info-area "}>....</div>',
|
|
78
81
|
output: '<div data-spec={"info-area"}>....</div>',
|
|
79
|
-
errors: [{ message:
|
|
82
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
80
83
|
},
|
|
81
84
|
{
|
|
82
85
|
code: '<div data-spec={` ab c `}>....</div>',
|
|
83
86
|
output: '<div data-spec={`ab c`}>....</div>',
|
|
84
|
-
errors: [{ message:
|
|
87
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
85
88
|
},
|
|
86
89
|
{
|
|
87
90
|
code: '<div data-spec={` a${b} c `}>....</div>',
|
|
88
91
|
output: '<div data-spec={`a${b} c`}>....</div>',
|
|
89
|
-
errors: [{ message:
|
|
92
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
90
93
|
},
|
|
91
94
|
{
|
|
92
95
|
code: '<div data-spec={` a${b ? ` ${c} ` : " "} d `}>....</div>',
|
|
93
96
|
output: '<div data-spec={`a${b ? ` ${c} ` : " "} d`}>....</div>',
|
|
94
|
-
errors: [{ message:
|
|
97
|
+
errors: [{ message: ERROR_MESSAGE }],
|
|
95
98
|
},
|
|
96
99
|
],
|
|
97
100
|
})
|