@@ -96,6 +96,45 @@ testRule(rule, {
9696 }
9797 ` ,
9898 description : "Two variables in unrelated at-rule scope cases."
99+ } ,
100+ {
101+ code : `
102+ $a: 1 !default;
103+ $b: 1;
104+ ` ,
105+ description :
106+ "Two dollar variables with different names and one containing a default."
107+ } ,
108+ {
109+ code : `
110+ $a: 1 !default;
111+ $a: 1;
112+ ` ,
113+ description :
114+ "Two dollar variables with same names and one containing a default."
115+ } ,
116+ {
117+ code : `
118+ $a: 1 !default;
119+ $a: 1;
120+ $b: 1 !default;
121+ $b: 1;
122+ ` ,
123+ description :
124+ "Two grouped dollar variables and each group contains a default."
125+ } ,
126+ {
127+ code : `
128+ $a: 1 !default;
129+ $a: 1;
130+
131+ $b: 5;$b: 4 !default;
132+
133+ $c: 6 !default;
134+ $c: $c + 5;
135+ ` ,
136+ description :
137+ "Three grouped dollar variables and each group contains a default."
99138 }
100139 ] ,
101140
@@ -276,6 +315,47 @@ testRule(rule, {
276315 message : messages . rejected ( "$ab" ) ,
277316 description :
278317 "Two dollar variables with the same name and multi-level nesting."
318+ } ,
319+ {
320+ code : `
321+ $a: 1;
322+ $a: 2;
323+ ` ,
324+ line : 3 ,
325+ column : 7 ,
326+ message : messages . rejected ( "$a" ) ,
327+ description : "Two dollar variables with the same name."
328+ } ,
329+ {
330+ code : `
331+ $a: 1 !default;
332+ $a: 2 !default;
333+ ` ,
334+ line : 3 ,
335+ column : 7 ,
336+ message : messages . rejected ( "$a" ) ,
337+ description :
338+ "Two dollar variables with the same name and containing default."
339+ } ,
340+ {
341+ code : `
342+ $a: 1 !default; $a: 2 !default;
343+ ` ,
344+ line : 2 ,
345+ column : 23 ,
346+ message : messages . rejected ( "$a" ) ,
347+ description :
348+ "Two dollar variables with the same name on the same line and containing default."
349+ } ,
350+ {
351+ code : `
352+ $a: 5; $a: 1 !default; $a: 2 !default;
353+ ` ,
354+ line : 2 ,
355+ column : 30 ,
356+ message : messages . rejected ( "$a" ) ,
357+ description :
358+ "Three dollar variables with the same name on the same line and two contains default."
279359 }
280360 ]
281361} ) ;
@@ -945,3 +1025,135 @@ testRule(rule, {
9451025 }
9461026 ]
9471027} ) ;
1028+
1029+ testRule ( rule , {
1030+ ruleName,
1031+ config : [ true , { ignoreDefaults : false } ] ,
1032+ syntax : "scss" ,
1033+
1034+ accept : [
1035+ {
1036+ code : `
1037+ $a: 1 !default;
1038+ $b: 1;
1039+ ` ,
1040+ description :
1041+ "Two dollar variables with different names and one containing a default."
1042+ }
1043+ ] ,
1044+
1045+ reject : [
1046+ {
1047+ code : `
1048+ $a: 1 !default;
1049+ $a: 2 !default;
1050+ ` ,
1051+ line : 3 ,
1052+ column : 7 ,
1053+ message : messages . rejected ( "$a" ) ,
1054+ description : "Two dollar variables with the same name containing default."
1055+ } ,
1056+ {
1057+ code : `
1058+ $a: 1 !default; $a: 2;
1059+ ` ,
1060+ line : 2 ,
1061+ column : 23 ,
1062+ message : messages . rejected ( "$a" ) ,
1063+ description :
1064+ "Two dollar variables with the same name on the same line and one variable contains a default."
1065+ } ,
1066+ {
1067+ code : `
1068+ $a: 1 !default;
1069+ $a: 2;
1070+ ` ,
1071+ line : 3 ,
1072+ column : 7 ,
1073+ message : messages . rejected ( "$a" ) ,
1074+ description :
1075+ "Two dollar variables with the same name and one containing default."
1076+ }
1077+ ]
1078+ } ) ;
1079+
1080+ testRule ( rule , {
1081+ ruleName,
1082+ config : [ true , { ignoreDefaults : true } ] ,
1083+ syntax : "scss" ,
1084+
1085+ accept : [
1086+ {
1087+ code : `
1088+ $a: 1 !default;
1089+ $b: 1;
1090+ ` ,
1091+ description :
1092+ "Two dollar variables with different names and one containing a default."
1093+ } ,
1094+ {
1095+ code : `
1096+ $a: 1 !default;
1097+ $a: 1;
1098+ ` ,
1099+ description :
1100+ "Two dollar variables with same names and one containing a default."
1101+ } ,
1102+ {
1103+ code : `
1104+ $a: 1 !default;
1105+ $a: 5 !default;
1106+ $a: 1;
1107+ ` ,
1108+ description :
1109+ "Three dollar variables with same names and two containing a default."
1110+ } ,
1111+ {
1112+ code : `
1113+ $a: 1 !default;
1114+ $a: 5 !default;
1115+ $a: 9 !default;
1116+ $a: 1;
1117+ ` ,
1118+ description :
1119+ "Four dollar variables with same names and three containing a default."
1120+ } ,
1121+ {
1122+ code : `
1123+ $a: 1 !default;
1124+ $a: 5 !default;
1125+ $a: 9 !default;
1126+ $a: 1;
1127+
1128+ $b: 5;$b: 4 !default;
1129+
1130+ $c: 6 !default;
1131+ $c: $c + 5;
1132+ ` ,
1133+ description :
1134+ "Three grouped dollar variables and each group contains a default."
1135+ }
1136+ ] ,
1137+
1138+ reject : [
1139+ {
1140+ code : `
1141+ $a: 1;
1142+ $a: 2;
1143+ ` ,
1144+ line : 3 ,
1145+ column : 7 ,
1146+ message : messages . rejected ( "$a" ) ,
1147+ description : "Two dollar variables with the same name."
1148+ } ,
1149+ {
1150+ code : `
1151+ $a: 1; $a: 2;
1152+ ` ,
1153+ line : 2 ,
1154+ column : 14 ,
1155+ message : messages . rejected ( "$a" ) ,
1156+ description : "Two dollar variables with the same name on the same line."
1157+ }
1158+ ]
1159+ } ) ;
0 commit comments