@@ -113,6 +113,60 @@ ruleTester.run('no-missing-placeholders', rule, {
113
113
}
114
114
};
115
115
` ,
116
+ // messageId but no placeholder.
117
+ `
118
+ module.exports = {
119
+ meta: {
120
+ messages: { myMessageId: 'foo' }
121
+ },
122
+ create(context) {
123
+ context.report({ node, messageId: 'myMessageId' });
124
+ }
125
+ };
126
+ ` ,
127
+ // messageId but the message doesn't exist in `meta.messages`.
128
+ `
129
+ module.exports = {
130
+ meta: {
131
+ messages: { }
132
+ },
133
+ create(context) {
134
+ context.report({ node, messageId: 'myMessageId' });
135
+ }
136
+ };
137
+ ` ,
138
+ // messageId but no `meta.messages`.
139
+ `
140
+ module.exports = {
141
+ meta: { },
142
+ create(context) {
143
+ context.report({ node, messageId: 'myMessageId' });
144
+ }
145
+ };
146
+ ` ,
147
+ // messageId but no `meta`.
148
+ `
149
+ module.exports = {
150
+ create(context) {
151
+ context.report({ node, messageId: 'myMessageId' });
152
+ }
153
+ };
154
+ ` ,
155
+ // messageId with correctly-used placeholder.
156
+ `
157
+ module.exports = {
158
+ meta: {
159
+ messages: { myMessageId: 'foo {{bar}}' }
160
+ },
161
+ create(context) {
162
+ context.report({
163
+ node,
164
+ messageId: 'myMessageId',
165
+ data: { bar: 'baz' }
166
+ });
167
+ }
168
+ };
169
+ ` ,
116
170
// Message in variable.
117
171
`
118
172
const MESSAGE = 'foo {{bar}}';
@@ -145,6 +199,25 @@ ruleTester.run('no-missing-placeholders', rule, {
145
199
}
146
200
};
147
201
` ,
202
+ // Suggestion with messageId
203
+ `
204
+ module.exports = {
205
+ meta: { messages: { myMessageId: 'Remove {{functionName}}' } },
206
+ create(context) {
207
+ context.report({
208
+ node,
209
+ suggest: [
210
+ {
211
+ messageId: 'myMessageId',
212
+ data: {
213
+ functionName: 'foo'
214
+ }
215
+ }
216
+ ]
217
+ });
218
+ }
219
+ };
220
+ ` ,
148
221
] ,
149
222
150
223
invalid : [
@@ -269,6 +342,25 @@ ruleTester.run('no-missing-placeholders', rule, {
269
342
` ,
270
343
errors : [ error ( 'bar' ) ] ,
271
344
} ,
345
+ {
346
+ // Suggestion and messageId
347
+ code : `
348
+ module.exports = {
349
+ meta: { messages: { myMessageId: 'foo {{bar}}' } },
350
+ create(context) {
351
+ context.report({
352
+ node,
353
+ suggest: [
354
+ {
355
+ messageId: 'myMessageId',
356
+ }
357
+ ]
358
+ });
359
+ }
360
+ };
361
+ ` ,
362
+ errors : [ error ( 'bar' ) ] ,
363
+ } ,
272
364
{
273
365
// `create` in variable.
274
366
code : `
@@ -283,5 +375,20 @@ ruleTester.run('no-missing-placeholders', rule, {
283
375
` ,
284
376
errors : [ error ( 'hasOwnProperty' ) ] ,
285
377
} ,
378
+ {
379
+ // messageId.
380
+ code : `
381
+ module.exports = {
382
+ meta: { messages: { myMessageId: 'foo {{bar}}' } },
383
+ create(context) {
384
+ context.report({
385
+ node,
386
+ messageId: 'myMessageId'
387
+ });
388
+ }
389
+ };
390
+ ` ,
391
+ errors : [ error ( 'bar' ) ] ,
392
+ } ,
286
393
] ,
287
394
} ) ;
0 commit comments