|
138 | 138 | }, `${selector} matches expected elements`);
|
139 | 139 | }
|
140 | 140 |
|
141 |
| - test_selector_all('.x:has(:scope .a)', [d02, d06, d07, d09, d12]); |
142 |
| - test_selector_all('.x:has(:scope .a > .b)', [d09]); |
143 |
| - test_selector_all('.x:has(:scope .a .b)', [d09, d12]); |
144 |
| - test_selector_all('.x:has(:scope .a + .b)', [d12]); |
145 |
| - test_selector_all('.x:has(:scope .a ~ .b)', [d02, d12]); |
146 |
| - test_selector_all(':has(.x:scope .a)', [d02, d06, d07, d09, d12]); |
147 |
| - test_selector_all(':has(.x:scope .a > .b)', [d09]); |
148 |
| - test_selector_all(':has(.x:scope .a .b)', [d09, d12]); |
149 |
| - test_selector_all(':has(.x:scope .a + .b)', [d12]); |
150 |
| - test_selector_all(':has(.x:scope .a ~ .b)', [d02, d12]); |
151 |
| - test_selector_all(':has(:scope.x .a)', [d02, d06, d07, d09, d12]); |
152 |
| - test_selector_all(':has(:scope.x .a > .b)', [d09]); |
153 |
| - test_selector_all(':has(:scope.x .a .b)', [d09, d12]); |
154 |
| - test_selector_all(':has(:scope.x .a + .b)', [d12]); |
155 |
| - test_selector_all(':has(:scope.x .a ~ .b)', [d02, d12]); |
| 141 | + test_selector_all('.x:has(.a)', [d02, d06, d07, d09, d12]); |
| 142 | + test_selector_all('.x:has(.a > .b)', [d09]); |
| 143 | + test_selector_all('.x:has(.a .b)', [d09, d12]); |
| 144 | + test_selector_all('.x:has(.a + .b)', [d12]); |
| 145 | + test_selector_all('.x:has(.a ~ .b)', [d02, d12]); |
156 | 146 |
|
157 |
| - test_selector_all('.x:has(:scope > .a)', [d02, d07, d09, d12]); |
158 |
| - test_selector_all('.x:has(:scope > .a > .b)', [d09]); |
159 |
| - test_selector_all('.x:has(:scope > .a .b)', [d09, d12]); |
160 |
| - test_selector_all('.x:has(:scope > .a + .b)', [d12]); |
161 |
| - test_selector_all('.x:has(:scope > .a ~ .b)', [d02, d12]); |
162 |
| - test_selector_all(':has(.x:scope > .a)', [d02, d07, d09, d12]); |
163 |
| - test_selector_all(':has(.x:scope > .a > .b)', [d09]); |
164 |
| - test_selector_all(':has(.x:scope > .a .b)', [d09, d12]); |
165 |
| - test_selector_all(':has(.x:scope > .a + .b)', [d12]); |
166 |
| - test_selector_all(':has(.x:scope > .a ~ .b)', [d02, d12]); |
167 |
| - test_selector_all(':has(:scope.x > .a)', [d02, d07, d09, d12]); |
168 |
| - test_selector_all(':has(:scope.x > .a > .b)', [d09]); |
169 |
| - test_selector_all(':has(:scope.x > .a .b)', [d09, d12]); |
170 |
| - test_selector_all(':has(:scope.x > .a + .b)', [d12]); |
171 |
| - test_selector_all(':has(:scope.x > .a ~ .b)', [d02, d12]); |
| 147 | + test_selector_all('.x:has(> .a)', [d02, d07, d09, d12]); |
| 148 | + test_selector_all('.x:has(> .a > .b)', [d09]); |
| 149 | + test_selector_all('.x:has(> .a .b)', [d09, d12]); |
| 150 | + test_selector_all('.x:has(> .a + .b)', [d12]); |
| 151 | + test_selector_all('.x:has(> .a ~ .b)', [d02, d12]); |
172 | 152 |
|
173 |
| - test_selector_all('.x:has(:scope + .a)', [d19, d21, d24, d28, d32, d37, d40, d46]); |
174 |
| - test_selector_all('.x:has(:scope + .a > .b)', [d21]); |
175 |
| - test_selector_all('.x:has(:scope + .a .b)', [d21, d24]); |
176 |
| - test_selector_all('.x:has(:scope + .a + .b)', [d28, d32, d37]); |
177 |
| - test_selector_all('.x:has(:scope + .a ~ .b)', [d19, d21, d24, d28, d32, d37, d40]); |
178 |
| - test_selector_all(':has(.x:scope + .a)', [d19, d21, d24, d28, d32, d37, d40, d46]); |
179 |
| - test_selector_all(':has(.x:scope + .a > .b)', [d21]); |
180 |
| - test_selector_all(':has(.x:scope + .a .b)', [d21, d24]); |
181 |
| - test_selector_all(':has(.x:scope + .a + .b)', [d28, d32, d37]); |
182 |
| - test_selector_all(':has(.x:scope + .a ~ .b)', [d19, d21, d24, d28, d32, d37, d40]); |
183 |
| - test_selector_all(':has(:scope.x + .a)', [d19, d21, d24, d28, d32, d37, d40, d46]); |
184 |
| - test_selector_all(':has(:scope.x + .a > .b)', [d21]); |
185 |
| - test_selector_all(':has(:scope.x + .a .b)', [d21, d24]); |
186 |
| - test_selector_all(':has(:scope.x + .a + .b)', [d28, d32, d37]); |
187 |
| - test_selector_all(':has(:scope.x + .a ~ .b)', [d19, d21, d24, d28, d32, d37, d40]); |
| 153 | + test_selector_all('.x:has(+ .a)', [d19, d21, d24, d28, d32, d37, d40, d46]); |
| 154 | + test_selector_all('.x:has(+ .a > .b)', [d21]); |
| 155 | + test_selector_all('.x:has(+ .a .b)', [d21, d24]); |
| 156 | + test_selector_all('.x:has(+ .a + .b)', [d28, d32, d37]); |
| 157 | + test_selector_all('.x:has(+ .a ~ .b)', [d19, d21, d24, d28, d32, d37, d40]); |
188 | 158 |
|
189 |
| - test_selector_all('.x:has(:scope ~ .a)', [d18, d19, d21, d24, d28, d32, d37, d40, d46]); |
190 |
| - test_selector_all('.x:has(:scope ~ .a > .b)', [d18, d19, d21]); |
191 |
| - test_selector_all('.x:has(:scope ~ .a .b)', [d18, d19, d21, d24]); |
192 |
| - test_selector_all('.x:has(:scope ~ .a + .b)', [d18, d19, d21, d24, d28, d32, d37]); |
193 |
| - test_selector_all('.x:has(:scope ~ .a + .b > .c)', [d18, d19, d21, d24, d28]); |
194 |
| - test_selector_all('.x:has(:scope ~ .a + .b .c)', [d18, d19, d21, d24, d28, d32]); |
195 |
| - test_selector_all(':has(.x:scope ~ .a)', [d18, d19, d21, d24, d28, d32, d37, d40, d46]); |
196 |
| - test_selector_all(':has(.x:scope ~ .a > .b)', [d18, d19, d21]); |
197 |
| - test_selector_all(':has(.x:scope ~ .a .b)', [d18, d19, d21, d24]); |
198 |
| - test_selector_all(':has(.x:scope ~ .a + .b)', [d18, d19, d21, d24, d28, d32, d37]); |
199 |
| - test_selector_all(':has(.x:scope ~ .a + .b > .c)', [d18, d19, d21, d24, d28]); |
200 |
| - test_selector_all(':has(.x:scope ~ .a + .b .c)', [d18, d19, d21, d24, d28, d32]); |
201 |
| - test_selector_all(':has(:scope.x ~ .a)', [d18, d19, d21, d24, d28, d32, d37, d40, d46]); |
202 |
| - test_selector_all(':has(:scope.x ~ .a > .b)', [d18, d19, d21]); |
203 |
| - test_selector_all(':has(:scope.x ~ .a .b)', [d18, d19, d21, d24]); |
204 |
| - test_selector_all(':has(:scope.x ~ .a + .b)', [d18, d19, d21, d24, d28, d32, d37]); |
205 |
| - test_selector_all(':has(:scope.x ~ .a + .b > .c)', [d18, d19, d21, d24, d28]); |
206 |
| - test_selector_all(':has(:scope.x ~ .a + .b .c)', [d18, d19, d21, d24, d28, d32]); |
| 159 | + test_selector_all('.x:has(~ .a)', [d18, d19, d21, d24, d28, d32, d37, d40, d46]); |
| 160 | + test_selector_all('.x:has(~ .a > .b)', [d18, d19, d21]); |
| 161 | + test_selector_all('.x:has(~ .a .b)', [d18, d19, d21, d24]); |
| 162 | + test_selector_all('.x:has(~ .a + .b)', [d18, d19, d21, d24, d28, d32, d37]); |
| 163 | + test_selector_all('.x:has(~ .a + .b > .c)', [d18, d19, d21, d24, d28]); |
| 164 | + test_selector_all('.x:has(~ .a + .b .c)', [d18, d19, d21, d24, d28, d32]); |
207 | 165 |
|
208 | 166 | test_selector_all('.x:has(.d .e)', [d48, d49, d50]);
|
209 | 167 | test_selector_all('.x:has(.d .e) .f', [d54]);
|
210 |
| - test_selector_all('.x:has(:scope .d .e)', [d48, d49, d50]); |
211 |
| - test_selector_all('.x:has(:scope .d .e) .f', [d54]); |
212 |
| - test_selector_all('.x:has(:scope > .d)', [d49, d50]); |
213 |
| - test_selector_all('.x:has(:scope > .d) .f', [d54]); |
214 |
| - test_selector_all('.x:has(:scope ~ .d ~ .e)', [d48, d55, d56]); |
215 |
| - test_selector_all('.x:has(:scope ~ .d ~ .e) ~ .f', [d60]); |
216 |
| - test_selector_all('.x:has(:scope + .d ~ .e)', [d55, d56]); |
217 |
| - test_selector_all('.x:has(:scope + .d ~ .e) ~ .f', [d60]); |
218 |
| - test_selector_all(':has(.x:scope .d .e)', [d48, d49, d50]); |
219 |
| - test_selector_all(':has(.x:scope .d .e) .f', [d54]); |
220 |
| - test_selector_all(':has(.x:scope > .d)', [d49, d50]); |
221 |
| - test_selector_all(':has(.x:scope > .d) .f', [d54]); |
222 |
| - test_selector_all(':has(.x:scope ~ .d ~ .e)', [d48, d55, d56]); |
223 |
| - test_selector_all(':has(.x:scope ~ .d ~ .e) ~ .f', [d60]); |
224 |
| - test_selector_all(':has(.x:scope + .d ~ .e)', [d55, d56]); |
225 |
| - test_selector_all(':has(.x:scope + .d ~ .e) ~ .f', [d60]); |
226 |
| - test_selector_all(':has(:scope.x .d .e)', [d48, d49, d50]); |
227 |
| - test_selector_all(':has(:scope.x .d .e) .f', [d54]); |
228 |
| - test_selector_all(':has(:scope.x > .d)', [d49, d50]); |
229 |
| - test_selector_all(':has(:scope.x > .d) .f', [d54]); |
230 |
| - test_selector_all(':has(:scope.x ~ .d ~ .e)', [d48, d55, d56]); |
231 |
| - test_selector_all(':has(:scope.x ~ .d ~ .e) ~ .f', [d60]); |
232 |
| - test_selector_all(':has(:scope.x + .d ~ .e)', [d55, d56]); |
233 |
| - test_selector_all(':has(:scope.x + .d ~ .e) ~ .f', [d60]); |
| 168 | + test_selector_all('.x:has(> .d)', [d49, d50]); |
| 169 | + test_selector_all('.x:has(> .d) .f', [d54]); |
| 170 | + test_selector_all('.x:has(~ .d ~ .e)', [d48, d55, d56]); |
| 171 | + test_selector_all('.x:has(~ .d ~ .e) ~ .f', [d60]); |
| 172 | + test_selector_all('.x:has(+ .d ~ .e)', [d55, d56]); |
| 173 | + test_selector_all('.x:has(+ .d ~ .e) ~ .f', [d60]); |
234 | 174 |
|
235 |
| - test_selector_all('.y:has(:scope > .g .h)', [d63, d71]) |
236 |
| - test_selector_all('.y:has(:scope .g .h)', [d63, d68, d71]) |
237 |
| - test_selector_all('.y:has(:scope > .g .h) .i', [d67, d75]) |
238 |
| - test_selector_all('.y:has(:scope .g .h) .i', [d67, d75]) |
239 |
| - test_selector_all('.x:has(:scope + .y:has(:scope > .g .h) .i)', [d62, d70]) |
240 |
| - test_selector_all('.x:has(:scope + .y:has(:scope .g .h) .i)', [d62, d63, d70]) |
241 |
| - test_selector_all('.x:has(:scope + .y:has(:scope > .g .h) .i) ~ .j', [d77, d80]) |
242 |
| - test_selector_all('.x:has(:scope + .y:has(:scope .g .h) .i) ~ .j', [d77, d80]) |
243 |
| - test_selector_all('.x:has(:scope ~ .y:has(:scope > .g .h) .i)', [d61, d62, d69, d70]) |
244 |
| - test_selector_all('.x:has(:scope ~ .y:has(:scope .g .h) .i)', [d61, d62, d63, d69, d70]) |
245 |
| - test_selector_all(':has(.y:scope > .g .h)', [d63, d71]) |
246 |
| - test_selector_all(':has(.y:scope .g .h)', [d63, d68, d71]) |
247 |
| - test_selector_all(':has(.y:scope > .g .h) .i', [d67, d75]) |
248 |
| - test_selector_all(':has(.y:scope .g .h) .i', [d67, d75]) |
249 |
| - test_selector_all(':has(.x:scope + :has(.y:scope > .g .h) .i)', [d62, d70]) |
250 |
| - test_selector_all(':has(.x:scope + :has(.y:scope .g .h) .i)', [d62, d63, d70]) |
251 |
| - test_selector_all(':has(.x:scope + :has(.y:scope > .g .h) .i) ~ .j', [d77, d80]) |
252 |
| - test_selector_all(':has(.x:scope + :has(.y:scope .g .h) .i) ~ .j', [d77, d80]) |
253 |
| - test_selector_all(':has(.x:scope ~ :has(.y:scope > .g .h) .i)', [d61, d62, d69, d70]) |
254 |
| - test_selector_all(':has(.x:scope ~ :has(.y:scope .g .h) .i)', [d61, d62, d63, d69, d70]) |
255 |
| - test_selector_all(':has(:scope.y > .g .h)', [d63, d71]) |
256 |
| - test_selector_all(':has(:scope.y .g .h)', [d63, d68, d71]) |
257 |
| - test_selector_all(':has(:scope.y > .g .h) .i', [d67, d75]) |
258 |
| - test_selector_all(':has(:scope.y .g .h) .i', [d67, d75]) |
259 |
| - test_selector_all(':has(:scope.x + :has(:scope.y > .g .h) .i)', [d62, d70]) |
260 |
| - test_selector_all(':has(:scope.x + :has(:scope.y .g .h) .i)', [d62, d63, d70]) |
261 |
| - test_selector_all(':has(:scope.x + :has(:scope.y > .g .h) .i) ~ .j', [d77, d80]) |
262 |
| - test_selector_all(':has(:scope.x + :has(:scope.y .g .h) .i) ~ .j', [d77, d80]) |
263 |
| - test_selector_all(':has(:scope.x ~ :has(:scope.y > .g .h) .i)', [d61, d62, d69, d70]) |
264 |
| - test_selector_all(':has(:scope.x ~ :has(:scope.y .g .h) .i)', [d61, d62, d63, d69, d70]) |
| 175 | + test_selector_all('.y:has(> .g .h)', [d63, d71]) |
| 176 | + test_selector_all('.y:has(.g .h)', [d63, d68, d71]) |
| 177 | + test_selector_all('.y:has(> .g .h) .i', [d67, d75]) |
| 178 | + test_selector_all('.y:has(.g .h) .i', [d67, d75]) |
| 179 | + test_selector_all('.x:has(+ .y:has(> .g .h) .i)', [d62, d70]) |
| 180 | + test_selector_all('.x:has(+ .y:has(.g .h) .i)', [d62, d63, d70]) |
| 181 | + test_selector_all('.x:has(+ .y:has(> .g .h) .i) ~ .j', [d77, d80]) |
| 182 | + test_selector_all('.x:has(+ .y:has(.g .h) .i) ~ .j', [d77, d80]) |
| 183 | + test_selector_all('.x:has(~ .y:has(> .g .h) .i)', [d61, d62, d69, d70]) |
| 184 | + test_selector_all('.x:has(~ .y:has(.g .h) .i)', [d61, d62, d63, d69, d70]) |
265 | 185 |
|
266 |
| - test_selector_all('.x:has(.d :scope .e)', [d51, d52]) |
267 |
| - test_selector_all(':has(.d .x:scope .e)', [d51, d52]) |
268 |
| - test_selector_all(':has(.d :scope.x .e)', [d51, d52]) |
| 186 | + test_selector_all('.d .x:has(.e)', [d51, d52]) |
269 | 187 |
|
270 |
| - test_selector_all('.x:has(.d ~ :scope ~ .e)', [d57, d58]) |
271 |
| - test_selector_all(':has(.d ~ .x:scope ~ .e)', [d57, d58]) |
272 |
| - test_selector_all(':has(.d ~ :scope.x ~ .e)', [d57, d58]) |
| 188 | + test_selector_all('.d ~ .x:has(~ .e)', [d57, d58]) |
273 | 189 |
|
274 |
| - test_selector_all(':has(:scope .d :scope)', []) |
275 |
| - test_selector_all(':has(:scope ~ .d ~ :scope)', []) |
276 | 190 | </script>
|
0 commit comments