forked from stylelint/stylelint
/
index.js
113 lines (108 loc) · 1.82 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
'use strict';
const stripIndent = require('common-tags').stripIndent;
const { messages, ruleName } = require('..');
testRule({
ruleName,
config: [true],
accept: [
{
code: stripIndent`
@import 'foo.css';
a {}
`,
description: '@import on first line',
},
{
code: stripIndent`
/* some comment */
@import 'foo.css';
`,
description: '@import after comment',
},
{
code: stripIndent`
@charset 'utf-8';
@import 'foo.css';
`,
description: '@import after @charset ',
},
{
code: stripIndent`
@import 'foo.css';
@import 'bar.css';
`,
description: '@import after another @import',
},
{
code: stripIndent`
@CHARSET 'utf-8';
@imPORT 'foo.css';
@import 'bar.css';
`,
description: 'case insensitive',
},
],
reject: [
{
code: stripIndent`
a {}
@import 'foo.css';
`,
message: messages.rejected,
description: '@import after selector',
line: 2,
column: 1,
},
{
code: stripIndent`
@media print {}
@import url('foo.css');
`,
message: messages.rejected,
description: '@import after another at-rule',
line: 2,
column: 1,
},
{
code: stripIndent`
@media print {}
@imPort URl('foo.css');
`,
message: messages.rejected,
description: 'case insensitive',
line: 2,
column: 1,
},
{
code: stripIndent`
@import 'foo.css';
a {}
@import 'bar.css';
`,
message: messages.rejected,
description: 'only second @import reported',
line: 3,
column: 1,
},
{
code: stripIndent`
a {}
@import 'foo.css';
@import 'bar.css';
`,
warnings: [
{
message: messages.rejected,
line: 2,
column: 1,
},
{
message: messages.rejected,
line: 3,
column: 1,
},
],
description: 'all @import reported',
},
],
});