@@ -17,10 +17,11 @@ const RuleTester = require('eslint').RuleTester;
17
17
* @param {string } missingKey The placeholder that is missing
18
18
* @returns {object } An expected error
19
19
*/
20
- function error ( missingKey , type = 'Literal' ) {
20
+ function error ( missingKey , type , extra ) {
21
21
return {
22
22
type,
23
23
message : `The placeholder {{${ missingKey } }} is missing (must provide it in the report's \`data\` object).` ,
24
+ ...extra ,
24
25
} ;
25
26
}
26
27
@@ -235,7 +236,7 @@ ruleTester.run('no-missing-placeholders', rule, {
235
236
}
236
237
};
237
238
` ,
238
- errors : [ error ( 'bar' ) ] ,
239
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
239
240
} ,
240
241
{
241
242
code : `
@@ -249,7 +250,7 @@ ruleTester.run('no-missing-placeholders', rule, {
249
250
}
250
251
};
251
252
` ,
252
- errors : [ error ( 'bar' ) ] ,
253
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
253
254
} ,
254
255
{
255
256
code : `
@@ -263,15 +264,15 @@ ruleTester.run('no-missing-placeholders', rule, {
263
264
}
264
265
};
265
266
` ,
266
- errors : [ error ( 'hasOwnProperty' ) ] ,
267
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
267
268
} ,
268
269
{
269
270
code : `
270
271
module.exports = context => {
271
272
context.report(node, 'foo {{bar}}', { baz: 'qux' }); return {};
272
273
};
273
274
` ,
274
- errors : [ error ( 'bar' ) ] ,
275
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
275
276
} ,
276
277
{
277
278
// Message in variable.
@@ -281,15 +282,15 @@ ruleTester.run('no-missing-placeholders', rule, {
281
282
context.report(node, MESSAGE, { baz: 'qux' }); return {};
282
283
};
283
284
` ,
284
- errors : [ error ( 'bar' , 'Identifier ' ) ] ,
285
+ errors : [ error ( 'bar' , 'ObjectExpression ' ) ] ,
285
286
} ,
286
287
{
287
288
code : `
288
289
module.exports = context => {
289
290
context.report(node, { line: 1, column: 3 }, 'foo {{bar}}', { baz: 'baz' }); return {};
290
291
};
291
292
` ,
292
- errors : [ error ( 'bar' ) ] ,
293
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
293
294
} ,
294
295
{
295
296
code : `
@@ -303,7 +304,19 @@ ruleTester.run('no-missing-placeholders', rule, {
303
304
}
304
305
};
305
306
` ,
306
- errors : [ error ( 'bar' ) ] ,
307
+ errors : [
308
+ error (
309
+ 'bar' ,
310
+ 'ObjectExpression' ,
311
+ // report on data
312
+ {
313
+ line : 7 ,
314
+ endLine : 7 ,
315
+ column : 21 ,
316
+ endColumn : 39 ,
317
+ }
318
+ ) ,
319
+ ] ,
307
320
} ,
308
321
309
322
{
@@ -343,7 +356,7 @@ ruleTester.run('no-missing-placeholders', rule, {
343
356
}
344
357
};
345
358
` ,
346
- errors : [ error ( 'bar' ) ] ,
359
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
347
360
} ,
348
361
{
349
362
// Suggestion and messageId
@@ -362,7 +375,7 @@ ruleTester.run('no-missing-placeholders', rule, {
362
375
}
363
376
};
364
377
` ,
365
- errors : [ error ( 'bar' ) ] ,
378
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
366
379
} ,
367
380
{
368
381
// `create` in variable.
@@ -376,7 +389,7 @@ ruleTester.run('no-missing-placeholders', rule, {
376
389
}
377
390
module.exports = { create };
378
391
` ,
379
- errors : [ error ( 'hasOwnProperty' ) ] ,
392
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
380
393
} ,
381
394
{
382
395
// messageId.
@@ -391,7 +404,19 @@ ruleTester.run('no-missing-placeholders', rule, {
391
404
}
392
405
};
393
406
` ,
394
- errors : [ error ( 'bar' ) ] ,
407
+ errors : [
408
+ error (
409
+ 'bar' ,
410
+ 'Literal' ,
411
+ // report on the messageId
412
+ {
413
+ line : 7 ,
414
+ endLine : 7 ,
415
+ column : 26 ,
416
+ endColumn : 39 ,
417
+ }
418
+ ) ,
419
+ ] ,
395
420
} ,
396
421
] ,
397
422
} ) ;
0 commit comments