@@ -626,6 +626,7 @@ describe('utils', () => {
626626 describe ( 'collectReportViolationAndSuggestionData' , ( ) => {
627627 const CASES = [
628628 {
629+ // One suggestion.
629630 code : `
630631 context.report({
631632 node: {},
@@ -656,6 +657,68 @@ describe('utils', () => {
656657 } ,
657658 ] ,
658659 } ,
660+ {
661+ // Suggestions using an array variable.
662+ code : `
663+ context.report({
664+ node: {},
665+ message: "message1",
666+ messageId: "messageId1",
667+ data: { foo: 'hello' },
668+ fix(fixer) {},
669+ suggest: SUGGESTIONS
670+ });
671+ ` ,
672+ shouldMatch : [
673+ {
674+ message : { type : 'Literal' , value : 'message1' } ,
675+ messageId : { type : 'Literal' , value : 'messageId1' } ,
676+ data : { type : 'ObjectExpression' , properties : [ { key : { name : 'foo' } } ] } ,
677+ fix : { type : 'FunctionExpression' } ,
678+ } ,
679+ ] ,
680+ } ,
681+ {
682+ // Suggestions using array item variables.
683+ code : `
684+ context.report({
685+ node: {},
686+ message: "message1",
687+ messageId: "messageId1",
688+ data: { foo: 'hello' },
689+ fix(fixer) {},
690+ suggest: [ SUGGEST_1, SUGGEST_2 ]
691+ });
692+ ` ,
693+ shouldMatch : [
694+ {
695+ message : { type : 'Literal' , value : 'message1' } ,
696+ messageId : { type : 'Literal' , value : 'messageId1' } ,
697+ data : { type : 'ObjectExpression' , properties : [ { key : { name : 'foo' } } ] } ,
698+ fix : { type : 'FunctionExpression' } ,
699+ } ,
700+ ] ,
701+ } ,
702+ {
703+ // No suggestions.
704+ code : `
705+ context.report({
706+ node: {},
707+ message: "message1",
708+ messageId: "messageId1",
709+ data: { foo: 'hello' },
710+ fix(fixer) {},
711+ });
712+ ` ,
713+ shouldMatch : [
714+ {
715+ message : { type : 'Literal' , value : 'message1' } ,
716+ messageId : { type : 'Literal' , value : 'messageId1' } ,
717+ data : { type : 'ObjectExpression' , properties : [ { key : { name : 'foo' } } ] } ,
718+ fix : { type : 'FunctionExpression' } ,
719+ } ,
720+ ] ,
721+ } ,
659722 ] ;
660723
661724 it ( 'behaves correctly' , ( ) => {
0 commit comments