@@ -17,8 +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' ) {
21
- return { type, message : `The placeholder {{${ missingKey } }} does not exist.` } ;
20
+ function error ( missingKey , type , extra ) {
21
+ return {
22
+ message : `The placeholder {{${ missingKey } }} does not exist.` ,
23
+ ...extra ,
24
+ } ;
22
25
}
23
26
24
27
// ------------------------------------------------------------------------------
@@ -232,7 +235,7 @@ ruleTester.run('no-missing-placeholders', rule, {
232
235
}
233
236
};
234
237
` ,
235
- errors : [ error ( 'bar' ) ] ,
238
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
236
239
} ,
237
240
{
238
241
code : `
@@ -246,7 +249,7 @@ ruleTester.run('no-missing-placeholders', rule, {
246
249
}
247
250
};
248
251
` ,
249
- errors : [ error ( 'bar' ) ] ,
252
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
250
253
} ,
251
254
{
252
255
code : `
@@ -260,15 +263,15 @@ ruleTester.run('no-missing-placeholders', rule, {
260
263
}
261
264
};
262
265
` ,
263
- errors : [ error ( 'hasOwnProperty' ) ] ,
266
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
264
267
} ,
265
268
{
266
269
code : `
267
270
module.exports = context => {
268
271
context.report(node, 'foo {{bar}}', { baz: 'qux' }); return {};
269
272
};
270
273
` ,
271
- errors : [ error ( 'bar' ) ] ,
274
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
272
275
} ,
273
276
{
274
277
// Message in variable.
@@ -286,7 +289,7 @@ ruleTester.run('no-missing-placeholders', rule, {
286
289
context.report(node, { line: 1, column: 3 }, 'foo {{bar}}', { baz: 'baz' }); return {};
287
290
};
288
291
` ,
289
- errors : [ error ( 'bar' ) ] ,
292
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
290
293
} ,
291
294
{
292
295
code : `
@@ -300,7 +303,19 @@ ruleTester.run('no-missing-placeholders', rule, {
300
303
}
301
304
};
302
305
` ,
303
- errors : [ error ( 'bar' ) ] ,
306
+ errors : [
307
+ error (
308
+ 'bar' ,
309
+ 'ObjectExpression' ,
310
+ // report on data
311
+ {
312
+ line : 7 ,
313
+ endLine : 7 ,
314
+ column : 21 ,
315
+ endColumn : 39 ,
316
+ }
317
+ ) ,
318
+ ] ,
304
319
} ,
305
320
306
321
{
@@ -340,7 +355,7 @@ ruleTester.run('no-missing-placeholders', rule, {
340
355
}
341
356
};
342
357
` ,
343
- errors : [ error ( 'bar' ) ] ,
358
+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
344
359
} ,
345
360
{
346
361
// Suggestion and messageId
@@ -359,7 +374,7 @@ ruleTester.run('no-missing-placeholders', rule, {
359
374
}
360
375
};
361
376
` ,
362
- errors : [ error ( 'bar' ) ] ,
377
+ errors : [ error ( 'bar' , 'Literal' ) ] ,
363
378
} ,
364
379
{
365
380
// `create` in variable.
@@ -373,7 +388,7 @@ ruleTester.run('no-missing-placeholders', rule, {
373
388
}
374
389
module.exports = { create };
375
390
` ,
376
- errors : [ error ( 'hasOwnProperty' ) ] ,
391
+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
377
392
} ,
378
393
{
379
394
// messageId.
@@ -388,7 +403,19 @@ ruleTester.run('no-missing-placeholders', rule, {
388
403
}
389
404
};
390
405
` ,
391
- errors : [ error ( 'bar' ) ] ,
406
+ errors : [
407
+ error (
408
+ 'bar' ,
409
+ 'Literal' ,
410
+ // report on the messageId
411
+ {
412
+ line : 7 ,
413
+ endLine : 7 ,
414
+ column : 26 ,
415
+ endColumn : 39 ,
416
+ }
417
+ ) ,
418
+ ] ,
392
419
} ,
393
420
] ,
394
421
} ) ;
0 commit comments