/
index.js
103 lines (95 loc) · 2.45 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
"use strict"
const messages = require("..").messages
const ruleName = require("..").ruleName
const rules = require("../../../rules")
const rule = rules[ruleName]
testRule(rule, {
ruleName,
config: ["always"],
accept: [ {
code: "a { color: pink; }",
description: "no !important",
}, {
code: "a { color: pink !important; }",
description: "space only before",
}, {
code: "a { color: pink ! important; }",
description: "space before and after",
}, {
code: "a { color: pink !\optional; }",
description: "space before and newline after",
}, {
code: "a { color: pink !\r\nimportant; }",
description: "space before and CRLF after",
}, {
code: "a::before { content: \"!!!\" !default; }",
description: "ignores string",
}, {
code: "a { color: pink/*!important */;}",
description: "violating comment",
} ],
reject: [ {
code: "a { color: pink !important; }",
description: "two spaces before",
message: messages.expectedBefore(),
line: 1,
column: 18,
}, {
code: "a { color: pink!default; }",
description: "no space before",
message: messages.expectedBefore(),
line: 1,
column: 16,
}, {
code: "a { color: pink\n!important; }",
description: "newline before",
message: messages.expectedBefore(),
line: 2,
column: 1,
}, {
code: "a { color: pink\r\n!something; }",
description: "CRLF before",
message: messages.expectedBefore(),
line: 2,
column: 1,
} ],
})
testRule(rule, {
ruleName,
config: ["never"],
accept: [ {
code: "a { color: pink; }",
description: "no !important",
}, {
code: "a { color: pink!important; }",
description: "no spaces",
}, {
code: "a { color: pink! important; }",
description: "no space before and after",
}, {
code: "a { color: pink!\nimportant; }",
description: "no space before and newline after",
}, {
code: "a { color: pink!\r\nimportant; }",
description: "no space before and CRLF after",
} ],
reject: [ {
code: "a { color: pink !important; }",
description: "space before",
message: messages.rejectedBefore(),
line: 1,
column: 17,
}, {
code: "a { color: pink\n!important; }",
description: "newline before",
message: messages.rejectedBefore(),
line: 2,
column: 1,
}, {
code: "a { color: pink\r\n!important; }",
description: "CRLF before",
message: messages.rejectedBefore(),
line: 2,
column: 1,
} ],
})