Skip to content

Commit fde5af0

Browse files
committed
test: adjust error message message
1 parent 2709da8 commit fde5af0

File tree

2 files changed

+36
-31
lines changed

2 files changed

+36
-31
lines changed

lib/rules/no-duplicate-class-names.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ module.exports = {
157157
fixable: 'code',
158158
schema: [],
159159
messages: {
160-
duplicateClassNames: 'Duplicate class names {{names}}.'
160+
duplicateClassNames: 'Duplicate class name{{plural}} {{names}}.'
161161
}
162162
},
163163
/** @param {RuleContext} context */
@@ -191,7 +191,8 @@ module.exports = {
191191
node,
192192
messageId: 'duplicateClassNames',
193193
data: {
194-
names: [...duplicates].map((name) => `'${name}'`).join(', ')
194+
names: [...duplicates].map((name) => `'${name}'`).join(', '),
195+
plural: duplicates.size > 1 ? 's' : ''
195196
},
196197
fix: (fixer) => {
197198
const sourceCode = context.getSourceCode()
@@ -294,7 +295,8 @@ module.exports = {
294295
node: parent,
295296
messageId: 'duplicateClassNames',
296297
data: {
297-
names: intersection.map((name) => `'${name}'`).join(', ')
298+
names: intersection.map((name) => `'${name}'`).join(', '),
299+
plural: intersection.length > 1 ? 's' : ''
298300
}
299301
})
300302
}
@@ -309,7 +311,10 @@ module.exports = {
309311
context.report({
310312
node: reportNode,
311313
messageId: 'duplicateClassNames',
312-
data: { names: `'${className}'` }
314+
data: {
315+
names: `'${className}'`,
316+
plural: ''
317+
}
313318
})
314319
}
315320
}

tests/lib/rules/no-duplicate-class-names.js

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ tester.run('no-duplicate-class-names', rule, {
6565
output: '<template><div class="foo"></div></template>',
6666
errors: [
6767
{
68-
message: "Duplicate class names 'foo'.",
68+
message: "Duplicate class name 'foo'.",
6969
type: 'VLiteral',
7070
line: 1,
7171
column: 22,
@@ -95,7 +95,7 @@ tester.run('no-duplicate-class-names', rule, {
9595
output: `<template><div :class="'foo'"></div></template>`,
9696
errors: [
9797
{
98-
message: "Duplicate class names 'foo'.",
98+
message: "Duplicate class name 'foo'.",
9999
type: 'Literal',
100100
line: 1,
101101
column: 24,
@@ -110,7 +110,7 @@ tester.run('no-duplicate-class-names', rule, {
110110
output: '<template><div :class="`foo`"></div></template>',
111111
errors: [
112112
{
113-
message: "Duplicate class names 'foo'.",
113+
message: "Duplicate class name 'foo'.",
114114
type: 'TemplateElement',
115115
line: 1,
116116
column: 24,
@@ -125,7 +125,7 @@ tester.run('no-duplicate-class-names', rule, {
125125
output: `<template><div :class="{ 'foo': true }"></div></template>`,
126126
errors: [
127127
{
128-
message: "Duplicate class names 'foo'.",
128+
message: "Duplicate class name 'foo'.",
129129
type: 'Literal',
130130
line: 1,
131131
column: 26,
@@ -140,15 +140,15 @@ tester.run('no-duplicate-class-names', rule, {
140140
output: `<template><div :class="{ 'foo bar': true, 'bar baz': true }"></div></template>`,
141141
errors: [
142142
{
143-
message: "Duplicate class names 'foo'.",
143+
message: "Duplicate class name 'foo'.",
144144
type: 'Literal',
145145
line: 1,
146146
column: 26,
147147
endLine: 1,
148148
endColumn: 39
149149
},
150150
{
151-
message: "Duplicate class names 'bar'.",
151+
message: "Duplicate class name 'bar'.",
152152
type: 'Literal',
153153
line: 1,
154154
column: 47,
@@ -163,7 +163,7 @@ tester.run('no-duplicate-class-names', rule, {
163163
output: `<template><div :class="['foo']"></div></template>`,
164164
errors: [
165165
{
166-
message: "Duplicate class names 'foo'.",
166+
message: "Duplicate class name 'foo'.",
167167
type: 'Literal',
168168
line: 1,
169169
column: 25,
@@ -178,15 +178,15 @@ tester.run('no-duplicate-class-names', rule, {
178178
output: `<template><div :class="['foo', 'bar baz']"></div></template>`,
179179
errors: [
180180
{
181-
message: "Duplicate class names 'foo'.",
181+
message: "Duplicate class name 'foo'.",
182182
type: 'Literal',
183183
line: 1,
184184
column: 25,
185185
endLine: 1,
186186
endColumn: 34
187187
},
188188
{
189-
message: "Duplicate class names 'bar'.",
189+
message: "Duplicate class name 'bar'.",
190190
type: 'Literal',
191191
line: 1,
192192
column: 36,
@@ -201,15 +201,15 @@ tester.run('no-duplicate-class-names', rule, {
201201
output: `<template><div :class="['foo', { 'bar baz': true }]"></div></template>`,
202202
errors: [
203203
{
204-
message: "Duplicate class names 'foo'.",
204+
message: "Duplicate class name 'foo'.",
205205
type: 'Literal',
206206
line: 1,
207207
column: 25,
208208
endLine: 1,
209209
endColumn: 34
210210
},
211211
{
212-
message: "Duplicate class names 'bar'.",
212+
message: "Duplicate class name 'bar'.",
213213
type: 'Literal',
214214
line: 1,
215215
column: 38,
@@ -224,7 +224,7 @@ tester.run('no-duplicate-class-names', rule, {
224224
output: `<template><div :class="isActive ? 'foo' : 'bar'"></div></template>`,
225225
errors: [
226226
{
227-
message: "Duplicate class names 'foo'.",
227+
message: "Duplicate class name 'foo'.",
228228
type: 'Literal',
229229
line: 1,
230230
column: 35,
@@ -239,7 +239,7 @@ tester.run('no-duplicate-class-names', rule, {
239239
output: `<template><div :class="'foo ' + ' bar'"></div></template>`,
240240
errors: [
241241
{
242-
message: "Duplicate class names 'foo'.",
242+
message: "Duplicate class name 'foo'.",
243243
type: 'Literal',
244244
line: 1,
245245
column: 24,
@@ -254,7 +254,7 @@ tester.run('no-duplicate-class-names', rule, {
254254
output: `<template><div class="foo bar"></div></template>`,
255255
errors: [
256256
{
257-
message: "Duplicate class names 'foo'.",
257+
message: "Duplicate class name 'foo'.",
258258
type: 'VLiteral',
259259
line: 1,
260260
column: 22,
@@ -269,7 +269,7 @@ tester.run('no-duplicate-class-names', rule, {
269269
output: `<template><div class="foo bar baz"></div></template>`,
270270
errors: [
271271
{
272-
message: "Duplicate class names 'foo'.",
272+
message: "Duplicate class name 'foo'.",
273273
type: 'VLiteral',
274274
line: 1,
275275
column: 22,
@@ -284,7 +284,7 @@ tester.run('no-duplicate-class-names', rule, {
284284
output: `<template><div class="foo bar baz"></div></template>`,
285285
errors: [
286286
{
287-
message: "Duplicate class names 'foo'.",
287+
message: "Duplicate class name 'foo'.",
288288
type: 'VLiteral',
289289
line: 1,
290290
column: 22,
@@ -299,7 +299,7 @@ tester.run('no-duplicate-class-names', rule, {
299299
output: null,
300300
errors: [
301301
{
302-
message: "Duplicate class names 'foo'.",
302+
message: "Duplicate class name 'foo'.",
303303
type: 'VStartTag',
304304
line: 1,
305305
column: 11,
@@ -314,7 +314,7 @@ tester.run('no-duplicate-class-names', rule, {
314314
output: null,
315315
errors: [
316316
{
317-
message: "Duplicate class names 'foo'.",
317+
message: "Duplicate class name 'foo'.",
318318
type: 'VStartTag',
319319
line: 1,
320320
column: 11,
@@ -329,7 +329,7 @@ tester.run('no-duplicate-class-names', rule, {
329329
output: null,
330330
errors: [
331331
{
332-
message: "Duplicate class names 'foo'.",
332+
message: "Duplicate class name 'foo'.",
333333
type: 'VStartTag',
334334
line: 1,
335335
column: 11,
@@ -359,7 +359,7 @@ tester.run('no-duplicate-class-names', rule, {
359359
output: null,
360360
errors: [
361361
{
362-
message: "Duplicate class names 'foo'.",
362+
message: "Duplicate class name 'foo'.",
363363
type: 'VStartTag',
364364
line: 1,
365365
column: 11,
@@ -374,7 +374,7 @@ tester.run('no-duplicate-class-names', rule, {
374374
output: null,
375375
errors: [
376376
{
377-
message: "Duplicate class names 'foo'.",
377+
message: "Duplicate class name 'foo'.",
378378
type: 'VStartTag',
379379
line: 1,
380380
column: 11,
@@ -389,7 +389,7 @@ tester.run('no-duplicate-class-names', rule, {
389389
output: null,
390390
errors: [
391391
{
392-
message: "Duplicate class names 'foo'.",
392+
message: "Duplicate class name 'foo'.",
393393
type: 'VStartTag',
394394
line: 1,
395395
column: 11,
@@ -404,7 +404,7 @@ tester.run('no-duplicate-class-names', rule, {
404404
output: null,
405405
errors: [
406406
{
407-
message: "Duplicate class names 'foo'.",
407+
message: "Duplicate class name 'foo'.",
408408
type: 'VStartTag',
409409
line: 1,
410410
column: 11,
@@ -419,7 +419,7 @@ tester.run('no-duplicate-class-names', rule, {
419419
output: null,
420420
errors: [
421421
{
422-
message: "Duplicate class names 'foo'.",
422+
message: "Duplicate class name 'foo'.",
423423
type: 'VStartTag',
424424
line: 1,
425425
column: 11,
@@ -434,7 +434,7 @@ tester.run('no-duplicate-class-names', rule, {
434434
output: null,
435435
errors: [
436436
{
437-
message: "Duplicate class names 'foo'.",
437+
message: "Duplicate class name 'foo'.",
438438
type: 'ArrayExpression',
439439
line: 1,
440440
column: 24,
@@ -449,7 +449,7 @@ tester.run('no-duplicate-class-names', rule, {
449449
output: null,
450450
errors: [
451451
{
452-
message: "Duplicate class names 'foo'.",
452+
message: "Duplicate class name 'foo'.",
453453
type: 'BinaryExpression',
454454
line: 1,
455455
column: 24,
@@ -464,7 +464,7 @@ tester.run('no-duplicate-class-names', rule, {
464464
output: null,
465465
errors: [
466466
{
467-
message: "Duplicate class names 'foo'.",
467+
message: "Duplicate class name 'foo'.",
468468
type: 'ArrayExpression',
469469
line: 1,
470470
column: 24,

0 commit comments

Comments
 (0)