@@ -626,6 +626,7 @@ describe('utils', () => {
626
626
describe ( 'collectReportViolationAndSuggestionData' , ( ) => {
627
627
const CASES = [
628
628
{
629
+ // One suggestion.
629
630
code : `
630
631
context.report({
631
632
node: {},
@@ -656,6 +657,68 @@ describe('utils', () => {
656
657
} ,
657
658
] ,
658
659
} ,
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
+ } ,
659
722
] ;
660
723
661
724
it ( 'behaves correctly' , ( ) => {
0 commit comments