@@ -17,10 +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' ) {
20+ function error ( missingKey , type , extra ) {
2121 return {
2222 type,
2323 message : `The placeholder {{${ missingKey } }} is missing (must provide it in the report's \`data\` object).` ,
24+ ...extra ,
2425 } ;
2526}
2627
@@ -235,7 +236,7 @@ ruleTester.run('no-missing-placeholders', rule, {
235236 }
236237 };
237238 ` ,
238- errors : [ error ( 'bar' ) ] ,
239+ errors : [ error ( 'bar' , 'Literal' ) ] ,
239240 } ,
240241 {
241242 code : `
@@ -249,7 +250,7 @@ ruleTester.run('no-missing-placeholders', rule, {
249250 }
250251 };
251252 ` ,
252- errors : [ error ( 'bar' ) ] ,
253+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
253254 } ,
254255 {
255256 code : `
@@ -263,15 +264,15 @@ ruleTester.run('no-missing-placeholders', rule, {
263264 }
264265 };
265266 ` ,
266- errors : [ error ( 'hasOwnProperty' ) ] ,
267+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
267268 } ,
268269 {
269270 code : `
270271 module.exports = context => {
271272 context.report(node, 'foo {{bar}}', { baz: 'qux' }); return {};
272273 };
273274 ` ,
274- errors : [ error ( 'bar' ) ] ,
275+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
275276 } ,
276277 {
277278 // Message in variable.
@@ -281,15 +282,15 @@ ruleTester.run('no-missing-placeholders', rule, {
281282 context.report(node, MESSAGE, { baz: 'qux' }); return {};
282283 };
283284 ` ,
284- errors : [ error ( 'bar' , 'Identifier ' ) ] ,
285+ errors : [ error ( 'bar' , 'ObjectExpression ' ) ] ,
285286 } ,
286287 {
287288 code : `
288289 module.exports = context => {
289290 context.report(node, { line: 1, column: 3 }, 'foo {{bar}}', { baz: 'baz' }); return {};
290291 };
291292 ` ,
292- errors : [ error ( 'bar' ) ] ,
293+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
293294 } ,
294295 {
295296 code : `
@@ -303,7 +304,19 @@ ruleTester.run('no-missing-placeholders', rule, {
303304 }
304305 };
305306 ` ,
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+ ] ,
307320 } ,
308321
309322 {
@@ -343,7 +356,7 @@ ruleTester.run('no-missing-placeholders', rule, {
343356 }
344357 };
345358 ` ,
346- errors : [ error ( 'bar' ) ] ,
359+ errors : [ error ( 'bar' , 'ObjectExpression' ) ] ,
347360 } ,
348361 {
349362 // Suggestion and messageId
@@ -362,7 +375,7 @@ ruleTester.run('no-missing-placeholders', rule, {
362375 }
363376 };
364377 ` ,
365- errors : [ error ( 'bar' ) ] ,
378+ errors : [ error ( 'bar' , 'Literal' ) ] ,
366379 } ,
367380 {
368381 // `create` in variable.
@@ -376,7 +389,7 @@ ruleTester.run('no-missing-placeholders', rule, {
376389 }
377390 module.exports = { create };
378391 ` ,
379- errors : [ error ( 'hasOwnProperty' ) ] ,
392+ errors : [ error ( 'hasOwnProperty' , 'ObjectExpression' ) ] ,
380393 } ,
381394 {
382395 // messageId.
@@ -391,7 +404,19 @@ ruleTester.run('no-missing-placeholders', rule, {
391404 }
392405 };
393406 ` ,
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+ ] ,
395420 } ,
396421 ] ,
397422} ) ;
0 commit comments