1
1
import { test } from './util/helpers.mjs' ;
2
2
3
3
test ( 'universal selector' , '*' , ( t , tree ) => {
4
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
5
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 1 ) ;
6
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
4
7
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
5
8
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 1 ) ;
6
9
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
7
10
} ) ;
8
11
9
12
test ( 'lobotomized owl selector' , ' * + * ' , ( t , tree ) => {
13
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
14
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 6 ) ;
15
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
10
16
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 2 ) ;
11
17
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 2 ) ;
12
18
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 1 ) ;
@@ -19,12 +25,18 @@ test('lobotomized owl selector', ' * + * ', (t, tree) => {
19
25
} ) ;
20
26
21
27
test ( 'comment' , '/**\n * Hello!\n */' , ( t , tree ) => {
28
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
29
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 3 ) ;
30
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
22
31
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
23
32
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 3 ) ;
24
33
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
25
34
} ) ;
26
35
27
36
test ( 'comment & universal selectors' , '*/*test*/*' , ( t , tree ) => {
37
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
38
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 10 ) ;
39
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
28
40
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
29
41
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 1 ) ;
30
42
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
@@ -37,27 +49,42 @@ test('comment & universal selectors', '*/*test*/*', (t, tree) => {
37
49
} ) ;
38
50
39
51
test ( 'tag selector' , 'h1' , ( t , tree ) => {
52
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
53
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 2 ) ;
54
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
40
55
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
41
56
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 2 ) ;
42
57
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
43
58
} ) ;
44
59
45
60
test ( 'id selector' , '#id' , ( t , tree ) => {
61
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
62
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 3 ) ;
63
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
46
64
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
47
65
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 3 ) ;
48
66
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
49
67
} ) ;
50
68
51
69
test ( 'tag selector followed by id selector' , 'h1, #id' , ( t , tree ) => {
70
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
71
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 2 ) ;
72
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
52
73
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
53
74
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 2 ) ;
54
75
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
76
+ t . deepEqual ( tree . nodes [ 1 ] . source . start . column , 4 ) ;
77
+ t . deepEqual ( tree . nodes [ 1 ] . source . end . column , 7 ) ;
78
+ t . deepEqual ( tree . nodes [ 1 ] . sourceIndex , 3 ) ;
55
79
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 0 ] . source . start . column , 5 ) ;
56
80
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 0 ] . source . end . column , 7 ) ;
57
81
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 0 ] . sourceIndex , 4 ) ;
58
82
} ) ;
59
83
60
84
test ( 'multiple id selectors' , '#one#two' , ( t , tree ) => {
85
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
86
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 8 ) ;
87
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
61
88
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
62
89
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 4 ) ;
63
90
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
@@ -67,6 +94,9 @@ test('multiple id selectors', '#one#two', (t, tree) => {
67
94
} ) ;
68
95
69
96
test ( 'multiple id selectors (2)' , '#one#two#three#four' , ( t , tree ) => {
97
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
98
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 19 ) ;
99
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
70
100
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 2 ] . source . start . column , 9 ) ;
71
101
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 2 ] . source . end . column , 14 ) ;
72
102
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 2 ] . sourceIndex , 8 ) ;
@@ -76,24 +106,39 @@ test('multiple id selectors (2)', '#one#two#three#four', (t, tree) => {
76
106
} ) ;
77
107
78
108
test ( 'multiple id selectors (3)' , '#one#two,#three#four' , ( t , tree ) => {
109
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
110
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 8 ) ;
111
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
79
112
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . start . column , 5 ) ;
80
113
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . end . column , 8 ) ;
81
114
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . sourceIndex , 4 ) ;
115
+ t . deepEqual ( tree . nodes [ 1 ] . source . start . column , 10 ) ;
116
+ t . deepEqual ( tree . nodes [ 1 ] . source . end . column , 20 ) ;
117
+ t . deepEqual ( tree . nodes [ 1 ] . sourceIndex , 9 ) ;
82
118
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . source . start . column , 16 ) ;
83
119
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . source . end . column , 20 ) ;
84
120
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . sourceIndex , 15 ) ;
85
121
} ) ;
86
122
87
123
test ( 'multiple class selectors' , '.one.two,.three.four' , ( t , tree ) => {
124
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
125
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 8 ) ;
126
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
88
127
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . start . column , 5 ) ;
89
128
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . end . column , 8 ) ;
90
129
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . sourceIndex , 4 ) ;
130
+ t . deepEqual ( tree . nodes [ 1 ] . source . start . column , 10 ) ;
131
+ t . deepEqual ( tree . nodes [ 1 ] . source . end . column , 20 ) ;
132
+ t . deepEqual ( tree . nodes [ 1 ] . sourceIndex , 9 ) ;
91
133
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . source . start . column , 16 ) ;
92
134
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . source . end . column , 20 ) ;
93
135
t . deepEqual ( tree . nodes [ 1 ] . nodes [ 1 ] . sourceIndex , 15 ) ;
94
136
} ) ;
95
137
96
138
test ( 'attribute selector' , '[name="james"]' , ( t , tree ) => {
139
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
140
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 14 ) ;
141
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
97
142
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . line , 1 ) ;
98
143
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
99
144
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 14 ) ;
@@ -130,11 +175,33 @@ test('pseudo-class', 'h1:first-child', (t, tree) => {
130
175
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . sourceIndex , 2 ) ;
131
176
} ) ;
132
177
178
+ test ( 'pseudo-class without argument' , ':not()' , ( t , tree ) => {
179
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
180
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 6 ) ;
181
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
182
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . line , 1 ) ;
183
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 1 ) ;
184
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 6 ) ;
185
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 0 ) ;
186
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . nodes [ 0 ] . source . start . column , 6 ) ;
187
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . nodes [ 0 ] . source . end . column , 6 ) ;
188
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 0 ] . nodes [ 0 ] . sourceIndex , 5 ) ;
189
+ } ) ;
190
+
133
191
test ( 'pseudo-class with argument' , 'h1:not(.strudel, .food)' , ( t , tree ) => {
192
+ t . deepEqual ( tree . nodes [ 0 ] . source . start . column , 1 ) ;
193
+ t . deepEqual ( tree . nodes [ 0 ] . source . end . column , 23 ) ;
194
+ t . deepEqual ( tree . nodes [ 0 ] . sourceIndex , 0 ) ;
134
195
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . start . line , 1 ) ;
135
196
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . start . column , 3 ) ;
136
197
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . source . end . column , 23 ) ;
137
198
t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . sourceIndex , 2 ) ;
199
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 0 ] . source . start . column , 8 ) ;
200
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 0 ] . source . end . column , 15 ) ;
201
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 0 ] . sourceIndex , 7 ) ;
202
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 1 ] . source . start . column , 17 ) ;
203
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 1 ] . source . end . column , 23 ) ;
204
+ t . deepEqual ( tree . nodes [ 0 ] . nodes [ 1 ] . nodes [ 1 ] . sourceIndex , 16 ) ;
138
205
} ) ;
139
206
140
207
test ( 'pseudo-element' , 'h1::before' , ( t , tree ) => {
0 commit comments