@@ -227,6 +227,50 @@ ruleTester.run('no-unused-message-ids', rule, {
227227 create(context) {}
228228 };
229229 ` ,
230+ // Helper function messageId parameter, outside rule.
231+ `
232+ function reportFoo(node, messageId) {
233+ context.report({ node, messageId });
234+ }
235+ module.exports = {
236+ meta: { messages: { foo: 'hello', bar: 'world', baz: 'planet' } },
237+ create(context) {
238+ reportFoo(node, 'foo');
239+ reportFoo(node, 'bar');
240+ reportFoo(node, 'baz');
241+ }
242+ };
243+ ` ,
244+ // Helper function with messageId parameter, inside rule, parameter reassignment.
245+ `
246+ module.exports = {
247+ meta: { messages: { foo: 'hello', bar: 'world', baz: 'planet' } },
248+ create(context) {
249+ function reportFoo(node, messageId) {
250+ if (foo) {
251+ messageId = 'baz';
252+ }
253+ context.report({ node, messageId });
254+ }
255+ reportFoo(node, 'foo');
256+ reportFoo(node, 'bar');
257+ }
258+ };
259+ ` ,
260+ // Helper function with messageId parameter, outside rule, with an unused messageId.
261+ // TODO: this should be an invalid test case because a messageId is unused.
262+ // Eventually, we should be able to detect what values are passed to this function for its messageId parameter.
263+ `
264+ function reportFoo(node, messageId) {
265+ context.report({ node, messageId });
266+ }
267+ module.exports = {
268+ meta: { messages: { foo: 'hello', bar: 'world' } },
269+ create(context) {
270+ reportFoo(node, 'foo');
271+ }
272+ };
273+ ` ,
230274 ] ,
231275
232276 invalid : [
@@ -363,7 +407,7 @@ ruleTester.run('no-unused-message-ids', rule, {
363407 context.report({ node, messageId });
364408 }
365409 module.exports = {
366- meta: { messages: { foo: 'hello world' } },
410+ meta: { messages: { foo: 'hello world', bar: 'baz' } },
367411 create(context) {
368412 reportFoo(node);
369413 }
0 commit comments