@@ -17,8 +17,12 @@ 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' ) {
21
- return { type, message : `The placeholder {{${ missingKey } }} does not exist.` } ;
20
+ function error ( missingKey , type , extra ) {
21
+ return {
22
+ type,
23
+ message : `The placeholder {{${ missingKey } }} does not exist.` ,
24
+ ...extra ,
25
+ } ;
22
26
}
23
27
24
28
// ------------------------------------------------------------------------------
@@ -232,7 +236,7 @@ ruleTester.run('no-missing-placeholders', rule, {
232
236
}
233
237
};
234
238
` ,
235
- errors : [ error ( 'bar' ) ] ,
239
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
236
240
} ,
237
241
{
238
242
code : `
@@ -246,7 +250,7 @@ ruleTester.run('no-missing-placeholders', rule, {
246
250
}
247
251
};
248
252
` ,
249
- errors : [ error ( 'bar' ) ] ,
253
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
250
254
} ,
251
255
{
252
256
code : `
@@ -260,15 +264,15 @@ ruleTester.run('no-missing-placeholders', rule, {
260
264
}
261
265
};
262
266
` ,
263
- errors : [ error ( 'hasOwnProperty' ) ] ,
267
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
264
268
} ,
265
269
{
266
270
code : `
267
271
module.exports = context => {
268
272
context.report(node, 'foo {{bar}}', { baz: 'qux' }); return {};
269
273
};
270
274
` ,
271
- errors : [ error ( 'bar' ) ] ,
275
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
272
276
} ,
273
277
{
274
278
// Message in variable.
@@ -278,15 +282,15 @@ ruleTester.run('no-missing-placeholders', rule, {
278
282
context.report(node, MESSAGE, { baz: 'qux' }); return {};
279
283
};
280
284
` ,
281
- errors : [ error ( 'bar' , 'Identifier ' ) ] ,
285
+ errors : [ error ( 'bar' , 'ObjectExpression ' ) ] ,
282
286
} ,
283
287
{
284
288
code : `
285
289
module.exports = context => {
286
290
context.report(node, { line: 1, column: 3 }, 'foo {{bar}}', { baz: 'baz' }); return {};
287
291
};
288
292
` ,
289
- errors : [ error ( 'bar' ) ] ,
293
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
290
294
} ,
291
295
{
292
296
code : `
@@ -300,7 +304,19 @@ ruleTester.run('no-missing-placeholders', rule, {
300
304
}
301
305
};
302
306
` ,
303
- 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
+ ] ,
304
320
} ,
305
321
306
322
{
@@ -340,7 +356,7 @@ ruleTester.run('no-missing-placeholders', rule, {
340
356
}
341
357
};
342
358
` ,
343
- errors : [ error ( 'bar' ) ] ,
359
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
344
360
} ,
345
361
{
346
362
// Suggestion and messageId
@@ -359,7 +375,7 @@ ruleTester.run('no-missing-placeholders', rule, {
359
375
}
360
376
};
361
377
` ,
362
- errors : [ error ( 'bar' ) ] ,
378
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
363
379
} ,
364
380
{
365
381
// `create` in variable.
@@ -373,7 +389,7 @@ ruleTester.run('no-missing-placeholders', rule, {
373
389
}
374
390
module.exports = { create };
375
391
` ,
376
- errors : [ error ( 'hasOwnProperty' ) ] ,
392
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
377
393
} ,
378
394
{
379
395
// messageId.
@@ -388,7 +404,19 @@ ruleTester.run('no-missing-placeholders', rule, {
388
404
}
389
405
};
390
406
` ,
391
- 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
+ ] ,
392
420
} ,
393
421
] ,
394
422
} ) ;
0 commit comments