@@ -17,8 +17,11 @@ const RuleTester = require('eslint').RuleTester;
1717 * @param {string } missingKey The placeholder that is missing
1818 * @returns {object } An expected error
1919 */
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+ } ;
2225}
2326
2427// ------------------------------------------------------------------------------
@@ -232,7 +235,7 @@ ruleTester.run('no-missing-placeholders', rule, {
232235 }
233236 };
234237 ` ,
235- errors : [ error ( 'bar' ) ] ,
238+ errors : [ error ( 'bar' , 'Literal' ) ] ,
236239 } ,
237240 {
238241 code : `
@@ -246,7 +249,7 @@ ruleTester.run('no-missing-placeholders', rule, {
246249 }
247250 };
248251 ` ,
249- errors : [ error ( 'bar' ) ] ,
252+ errors : [ error ( 'bar' , 'Literal' ) ] ,
250253 } ,
251254 {
252255 code : `
@@ -260,15 +263,15 @@ ruleTester.run('no-missing-placeholders', rule, {
260263 }
261264 };
262265 ` ,
263- errors : [ error ( 'hasOwnProperty' ) ] ,
266+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
264267 } ,
265268 {
266269 code : `
267270 module.exports = context => {
268271 context.report(node, 'foo {{bar}}', { baz: 'qux' }); return {};
269272 };
270273 ` ,
271- errors : [ error ( 'bar' ) ] ,
274+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
272275 } ,
273276 {
274277 // Message in variable.
@@ -286,7 +289,7 @@ ruleTester.run('no-missing-placeholders', rule, {
286289 context.report(node, { line: 1, column: 3 }, 'foo {{bar}}', { baz: 'baz' }); return {};
287290 };
288291 ` ,
289- errors : [ error ( 'bar' ) ] ,
292+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
290293 } ,
291294 {
292295 code : `
@@ -300,7 +303,19 @@ ruleTester.run('no-missing-placeholders', rule, {
300303 }
301304 };
302305 ` ,
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+ ] ,
304319 } ,
305320
306321 {
@@ -340,7 +355,7 @@ ruleTester.run('no-missing-placeholders', rule, {
340355 }
341356 };
342357 ` ,
343- errors : [ error ( 'bar' ) ] ,
358+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
344359 } ,
345360 {
346361 // Suggestion and messageId
@@ -359,7 +374,7 @@ ruleTester.run('no-missing-placeholders', rule, {
359374 }
360375 };
361376 ` ,
362- errors : [ error ( 'bar' ) ] ,
377+ errors : [ error ( 'bar' , 'Literal' ) ] ,
363378 } ,
364379 {
365380 // `create` in variable.
@@ -373,7 +388,7 @@ ruleTester.run('no-missing-placeholders', rule, {
373388 }
374389 module.exports = { create };
375390 ` ,
376- errors : [ error ( 'hasOwnProperty' ) ] ,
391+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
377392 } ,
378393 {
379394 // messageId.
@@ -388,7 +403,19 @@ ruleTester.run('no-missing-placeholders', rule, {
388403 }
389404 };
390405 ` ,
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+ ] ,
392419 } ,
393420 ] ,
394421} ) ;
0 commit comments