Commit c25950b 1 parent 54e5330 commit c25950b Copy full SHA for c25950b
File tree 9 files changed +58
-20
lines changed
9 files changed +58
-20
lines changed Original file line number Diff line number Diff line change 1
1
/* eslint-disable @typescript-eslint/no-var-requires */
2
2
const { getTestRule } = require ( 'jest-preset-stylelint' ) ;
3
+ const { lint } = require ( 'stylelint' ) ;
3
4
4
5
global . testRule = getTestRule ( { plugins : [ './src/index.ts' ] } ) ;
6
+
7
+ global . testOptions = testOptions ;
8
+
9
+ function testOptions ( { ruleName, config, reject } ) {
10
+ // eslint-disable-next-line no-undef
11
+ describe ( ruleName , ( ) => {
12
+ // eslint-disable-next-line no-undef
13
+ it ( 'warn for invalid options' , async ( ) => {
14
+ const rejections = await Promise . all (
15
+ reject . map ( async ( { code, message } ) => {
16
+ const {
17
+ results : [ { invalidOptionWarnings } ] ,
18
+ } = await lint ( {
19
+ code,
20
+ config : {
21
+ plugins : [ './src/index.ts' ] ,
22
+ rules : {
23
+ [ ruleName ] : config ,
24
+ } ,
25
+ } ,
26
+ } ) ;
27
+
28
+ return { message, invalidOptionWarnings } ;
29
+ } )
30
+ ) ;
31
+
32
+ rejections . forEach ( ( { message, invalidOptionWarnings } ) => {
33
+ const expectedWarning = {
34
+ text : message ,
35
+ } ;
36
+
37
+ // eslint-disable-next-line no-undef
38
+ expect ( invalidOptionWarnings [ 0 ] ) . toMatchObject ( expectedWarning ) ;
39
+ } ) ;
40
+ } ) ;
41
+ } ) ;
42
+ }
Original file line number Diff line number Diff line change @@ -156,7 +156,7 @@ testRule(
156
156
}
157
157
) ;
158
158
159
- testRule ( {
159
+ testOptions ( {
160
160
skip : true ,
161
161
ruleName,
162
162
@@ -170,12 +170,12 @@ testRule({
170
170
reject : [
171
171
{
172
172
code : '.foo { color: red; }' ,
173
- message : `Invalid option "{"autoFixFunc":true}" for rule ${ ruleName } ` ,
173
+ message : `Invalid option "{"autoFixFunc":true}" for rule " ${ ruleName } " ` ,
174
174
} ,
175
175
] ,
176
176
} ) ;
177
177
178
- testRule ( {
178
+ testOptions ( {
179
179
skip : true ,
180
180
ruleName,
181
181
@@ -189,7 +189,7 @@ testRule({
189
189
reject : [
190
190
{
191
191
code : '.foo { color: red; }' ,
192
- message : `Invalid option "{"disableFix":1234}" for rule ${ ruleName } ` ,
192
+ message : `Invalid option "{"disableFix":1234}" for rule " ${ ruleName } " ` ,
193
193
} ,
194
194
] ,
195
195
} ) ;
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ testRule({
50
50
] ,
51
51
} ) ;
52
52
53
- testRule ( {
53
+ testOptions ( {
54
54
skip : true ,
55
55
ruleName,
56
56
@@ -64,7 +64,7 @@ testRule({
64
64
reject : [
65
65
{
66
66
code : '.foo { color: red; }' ,
67
- message : `Invalid option "{"message":1234}" for rule ${ ruleName } ` ,
67
+ message : `Invalid option "{"message":1234}" for rule " ${ ruleName } " ` ,
68
68
} ,
69
69
] ,
70
70
} ) ;
Original file line number Diff line number Diff line change @@ -227,7 +227,7 @@ testRule({
227
227
] ,
228
228
} ) ;
229
229
230
- testRule ( {
230
+ testOptions ( {
231
231
skip : true ,
232
232
ruleName,
233
233
@@ -241,7 +241,7 @@ testRule({
241
241
reject : [
242
242
{
243
243
code : '.foo { color: red; }' ,
244
- message : `Invalid option "{"ignoreFunctions":"foo"}" for rule ${ ruleName } ` ,
244
+ message : `Invalid option "{"ignoreFunctions":"foo"}" for rule " ${ ruleName } " ` ,
245
245
} ,
246
246
] ,
247
247
} ) ;
Original file line number Diff line number Diff line change @@ -248,7 +248,7 @@ testRule({
248
248
] ,
249
249
} ) ;
250
250
251
- testRule ( {
251
+ testOptions ( {
252
252
skip : true ,
253
253
ruleName,
254
254
@@ -262,7 +262,7 @@ testRule({
262
262
reject : [
263
263
{
264
264
code : '.foo { color: red; }' ,
265
- message : `Invalid option "{"ignoreVariables":"foo"}" for rule ${ ruleName } ` ,
265
+ message : `Invalid option "{"ignoreVariables":"foo"}" for rule " ${ ruleName } " ` ,
266
266
} ,
267
267
] ,
268
268
} ) ;
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ testRule({
27
27
] ,
28
28
} ) ;
29
29
30
- testRule ( {
30
+ testOptions ( {
31
31
skip : true ,
32
32
ruleName,
33
33
@@ -41,7 +41,7 @@ testRule({
41
41
reject : [
42
42
{
43
43
code : '.foo { color: red; }' ,
44
- message : `Invalid option "{"severity":1234}" for rule ${ ruleName } ` ,
44
+ message : `Invalid option "{"severity":1234}" for rule " ${ ruleName } " ` ,
45
45
} ,
46
46
] ,
47
47
} ) ;
Original file line number Diff line number Diff line change @@ -304,7 +304,7 @@ testRule({
304
304
] ,
305
305
} ) ;
306
306
307
- testRule ( {
307
+ testOptions ( {
308
308
skip : true ,
309
309
ruleName,
310
310
@@ -318,12 +318,12 @@ testRule({
318
318
reject : [
319
319
{
320
320
code : '.foo { border: red; }' ,
321
- message : `Invalid option "{"expandShorthand":"foo"}" for rule ${ ruleName } ` ,
321
+ message : `Invalid option "{"expandShorthand":"foo"}" for rule " ${ ruleName } " ` ,
322
322
} ,
323
323
] ,
324
324
} ) ;
325
325
326
- testRule ( {
326
+ testOptions ( {
327
327
skip : true ,
328
328
ruleName,
329
329
@@ -337,7 +337,7 @@ testRule({
337
337
reject : [
338
338
{
339
339
code : '.foo { border: red; }' ,
340
- message : `Invalid option "{"recurseLonghand":"foo"}" for rule ${ ruleName } ` ,
340
+ message : `Invalid option "{"recurseLonghand":"foo"}" for rule " ${ ruleName } " ` ,
341
341
} ,
342
342
] ,
343
343
} ) ;
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ testRule({
71
71
] ,
72
72
} ) ;
73
73
74
- testRule ( {
74
+ testOptions ( {
75
75
skip : true ,
76
76
ruleName,
77
77
@@ -85,7 +85,7 @@ testRule({
85
85
reject : [
86
86
{
87
87
code : '.foo { color: red; }' ,
88
- message : `Invalid option "{"ignoreKeywords":true}" for rule ${ ruleName } ` ,
88
+ message : `Invalid option "{"ignoreKeywords":true}" for rule " ${ ruleName } " ` ,
89
89
} ,
90
90
] ,
91
91
} ) ;
Original file line number Diff line number Diff line change @@ -118,7 +118,7 @@ testRule({
118
118
] ,
119
119
} ) ;
120
120
121
- testRule ( {
121
+ testOptions ( {
122
122
skip : true ,
123
123
ruleName,
124
124
@@ -132,7 +132,7 @@ testRule({
132
132
reject : [
133
133
{
134
134
code : '.foo { color: red; }' ,
135
- message : `Invalid option "{"ignoreValues":true}" for rule ${ ruleName } ` ,
135
+ message : `Invalid option "{"ignoreValues":true}" for rule " ${ ruleName } " ` ,
136
136
} ,
137
137
] ,
138
138
} ) ;
You can’t perform that action at this time.
0 commit comments