Changeset 285921 in webkit
- Timestamp:
- Nov 17, 2021, 2:29:44 AM (5 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 14 added
- 13 edited
- 2 moved
-
ChangeLog (modified) (1 diff)
-
TestExpectations (modified) (1 diff)
-
imported/w3c/ChangeLog (modified) (1 diff)
-
imported/w3c/resources/import-expectations.json (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/first-letter-flag-001-expected.html (added)
-
imported/w3c/web-platform-tests/css/selectors/first-letter-flag-001.html (added)
-
imported/w3c/web-platform-tests/css/selectors/focus-visible-004.html (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/has-argument-with-explicit-scope.tentative-expected.txt (added)
-
imported/w3c/web-platform-tests/css/selectors/has-argument-with-explicit-scope.tentative.html (added)
-
imported/w3c/web-platform-tests/css/selectors/has-basic-expected.txt (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/has-basic.html (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/has-matches-to-uninserted-elements-expected.txt (added)
-
imported/w3c/web-platform-tests/css/selectors/has-matches-to-uninserted-elements.html (added)
-
imported/w3c/web-platform-tests/css/selectors/has-relative-argument-expected.txt (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/has-relative-argument.html (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt (added)
-
imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has.html (added)
-
imported/w3c/web-platform-tests/css/selectors/invalidation/w3c-import.log (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/nesting-expected.html (added)
-
imported/w3c/web-platform-tests/css/selectors/nesting-parsing-expected.txt (added)
-
imported/w3c/web-platform-tests/css/selectors/nesting-parsing.html (added)
-
imported/w3c/web-platform-tests/css/selectors/nesting.html (added)
-
imported/w3c/web-platform-tests/css/selectors/parsing/parse-has-expected.txt (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/parsing/parse-has.html (modified) (1 diff)
-
imported/w3c/web-platform-tests/css/selectors/selection-image-001-expected-mismatch.html (moved) (moved from trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-expected.html )
-
imported/w3c/web-platform-tests/css/selectors/selection-image-002-expected-mismatch.html (moved) (moved from trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-002-expected.html )
-
imported/w3c/web-platform-tests/css/selectors/w3c-import.log (modified) (6 diffs)
-
imported/w3c/web-platform-tests/css/selectors/xml-class-selector-expected.xml (added)
-
imported/w3c/web-platform-tests/css/selectors/xml-class-selector.xml (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r285920 r285921 1 2021-11-17 Antti Koivisto <antti@apple.com> 2 3 Update web-platform-tests/css/selectors 4 https://bugs.webkit.org/show_bug.cgi?id=233246 5 6 Reviewed by Alexey Shvayka. 7 8 * TestExpectations: 9 1 10 2021-11-17 Rob Buis <rbuis@igalia.com> 2 11 -
trunk/LayoutTests/TestExpectations
r285918 r285921 1477 1477 webkit.org/b/64861 imported/w3c/web-platform-tests/css/selectors/selectors-dir-selector-rtl-001.html [ ImageOnlyFailure ] 1478 1478 webkit.org/b/64861 imported/w3c/web-platform-tests/css/selectors/selectors-dir-selector-white-space-001.html [ ImageOnlyFailure ] 1479 webkit.org/b/223497 imported/w3c/web-platform-tests/css/selectors/nesting.html [ ImageOnlyFailure ] 1480 imported/w3c/web-platform-tests/css/selectors/xml-class-selector.xml [ ImageOnlyFailure ] 1479 1481 1480 1482 # ref for this is under a directory that is not yet imported -
trunk/LayoutTests/imported/w3c/ChangeLog
r285918 r285921 1 2021-11-17 Antti Koivisto <antti@apple.com> 2 3 Update web-platform-tests/css/selectors 4 https://bugs.webkit.org/show_bug.cgi?id=233246 5 6 Reviewed by Alexey Shvayka. 7 8 WPT updates. 9 10 * resources/import-expectations.json: 11 * web-platform-tests/css/selectors/first-letter-flag-001-expected.html: Added. 12 * web-platform-tests/css/selectors/first-letter-flag-001.html: Added. 13 * web-platform-tests/css/selectors/focus-visible-004.html: 14 * web-platform-tests/css/selectors/has-argument-with-explicit-scope.tentative-expected.txt: Added. 15 * web-platform-tests/css/selectors/has-argument-with-explicit-scope.tentative.html: Added. 16 * web-platform-tests/css/selectors/has-basic-expected.txt: 17 * web-platform-tests/css/selectors/has-basic.html: 18 * web-platform-tests/css/selectors/has-matches-to-uninserted-elements-expected.txt: Added. 19 * web-platform-tests/css/selectors/has-matches-to-uninserted-elements.html: Added. 20 * web-platform-tests/css/selectors/has-relative-argument-expected.txt: 21 * web-platform-tests/css/selectors/has-relative-argument.html: 22 * web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt: Added. 23 * web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has.html: Added. 24 * web-platform-tests/css/selectors/invalidation/w3c-import.log: 25 * web-platform-tests/css/selectors/nesting-expected.html: Added. 26 * web-platform-tests/css/selectors/nesting-parsing-expected.txt: Added. 27 * web-platform-tests/css/selectors/nesting-parsing.html: Added. 28 * web-platform-tests/css/selectors/nesting.html: Added. 29 * web-platform-tests/css/selectors/parsing/parse-has-expected.txt: 30 * web-platform-tests/css/selectors/parsing/parse-has.html: 31 * web-platform-tests/css/selectors/selection-image-001-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-expected.html. 32 * web-platform-tests/css/selectors/selection-image-002-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-002-expected.html. 33 * web-platform-tests/css/selectors/w3c-import.log: 34 * web-platform-tests/css/selectors/xml-class-selector-expected.xml: Added. 35 * web-platform-tests/css/selectors/xml-class-selector.xml: Added. 36 1 37 2021-11-16 Rob Buis <rbuis@igalia.com> 2 38 -
trunk/LayoutTests/imported/w3c/resources/import-expectations.json
r285426 r285921 322 322 "web-platform-tests/html/semantics/forms/the-textarea-element": "import", 323 323 "web-platform-tests/html/semantics/interactive-elements/the-dialog-element/": "import", 324 "web-platform-tests/html/semantics/interactive-elements/the-summary-element": "skip", 324 "web-platform-tests/html/semantics/interactive-elements/the-summary-element": "skip", 325 325 "web-platform-tests/html/semantics/links/downloading-resources": "import", 326 326 "web-platform-tests/html/semantics/links/following-hyperlinks": "skip", -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-004.html
r276127 r285921 30 30 .check { 31 31 -webkit-appearance: none; 32 -webkit-appearance: none;32 appearance: none; 33 33 } 34 34 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-basic-expected.txt
r281295 r285921 12 12 PASS :has(.sibling:has(.descendant) ~ .target) matches expected elements 13 13 PASS :has(.sibling:has(.descendant) ~ .target) ~ .parent > .descendant matches expected elements 14 PASS :has(:scope .target) matches expected elements 15 PASS :has(:scope > .parent) matches expected elements 14 PASS :has(> .parent) matches expected elements 16 15 PASS :has(> .target) matches expected elements 17 PASS :has( :scope> .target) matches expected elements16 PASS :has(> .parent, > .target) matches expected elements 18 17 PASS :has(+ #h) matches expected elements 19 PASS :has(:scope + #h) matches expected elements20 18 PASS .parent:has(~ #h) matches expected elements 21 PASS .parent:has(:scope ~ #h) matches expected elements22 19 PASS .sibling:has(.descendant) matches expected element 23 20 PASS closest(.ancestor:has(.descendant)) returns expected element -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-basic.html
r279581 r285921 75 75 ':has(.sibling:has(.descendant) ~ .target) ~ .parent > .descendant', 76 76 [g, i, j]); 77 test_selector_all(':has(:scope .target)', [a, b, f, h]); 78 test_selector_all(':has(:scope > .parent)', [a]); 77 test_selector_all(':has(> .parent)', [a]); 79 78 test_selector_all(':has(> .target)', [b, f, h]); 80 test_selector_all(':has( :scope > .target)', [b, f, h]);79 test_selector_all(':has(> .parent, > .target)', [a, b, f, h]); 81 80 test_selector_all(':has(+ #h)', [f]); 82 test_selector_all(':has(:scope + #h)', [f]);83 81 test_selector_all('.parent:has(~ #h)', [b, f]); 84 test_selector_all('.parent:has(:scope ~ #h)', [b, f]);85 82 test_selector('.sibling:has(.descendant)', c); 86 83 test_closest(k, '.ancestor:has(.descendant)', h); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-relative-argument-expected.txt
r281295 r285921 1 1 2 PASS .x:has(:scope .a) matches expected elements 3 PASS .x:has(:scope .a > .b) matches expected elements 4 PASS .x:has(:scope .a .b) matches expected elements 5 PASS .x:has(:scope .a + .b) matches expected elements 6 PASS .x:has(:scope .a ~ .b) matches expected elements 7 PASS :has(.x:scope .a) matches expected elements 8 PASS :has(.x:scope .a > .b) matches expected elements 9 PASS :has(.x:scope .a .b) matches expected elements 10 PASS :has(.x:scope .a + .b) matches expected elements 11 PASS :has(.x:scope .a ~ .b) matches expected elements 12 PASS :has(:scope.x .a) matches expected elements 13 PASS :has(:scope.x .a > .b) matches expected elements 14 PASS :has(:scope.x .a .b) matches expected elements 15 PASS :has(:scope.x .a + .b) matches expected elements 16 PASS :has(:scope.x .a ~ .b) matches expected elements 17 PASS .x:has(:scope > .a) matches expected elements 18 PASS .x:has(:scope > .a > .b) matches expected elements 19 PASS .x:has(:scope > .a .b) matches expected elements 20 PASS .x:has(:scope > .a + .b) matches expected elements 21 PASS .x:has(:scope > .a ~ .b) matches expected elements 22 PASS :has(.x:scope > .a) matches expected elements 23 PASS :has(.x:scope > .a > .b) matches expected elements 24 PASS :has(.x:scope > .a .b) matches expected elements 25 PASS :has(.x:scope > .a + .b) matches expected elements 26 PASS :has(.x:scope > .a ~ .b) matches expected elements 27 PASS :has(:scope.x > .a) matches expected elements 28 PASS :has(:scope.x > .a > .b) matches expected elements 29 PASS :has(:scope.x > .a .b) matches expected elements 30 PASS :has(:scope.x > .a + .b) matches expected elements 31 PASS :has(:scope.x > .a ~ .b) matches expected elements 32 PASS .x:has(:scope + .a) matches expected elements 33 PASS .x:has(:scope + .a > .b) matches expected elements 34 PASS .x:has(:scope + .a .b) matches expected elements 35 PASS .x:has(:scope + .a + .b) matches expected elements 36 PASS .x:has(:scope + .a ~ .b) matches expected elements 37 PASS :has(.x:scope + .a) matches expected elements 38 PASS :has(.x:scope + .a > .b) matches expected elements 39 PASS :has(.x:scope + .a .b) matches expected elements 40 PASS :has(.x:scope + .a + .b) matches expected elements 41 PASS :has(.x:scope + .a ~ .b) matches expected elements 42 PASS :has(:scope.x + .a) matches expected elements 43 PASS :has(:scope.x + .a > .b) matches expected elements 44 PASS :has(:scope.x + .a .b) matches expected elements 45 PASS :has(:scope.x + .a + .b) matches expected elements 46 PASS :has(:scope.x + .a ~ .b) matches expected elements 47 PASS .x:has(:scope ~ .a) matches expected elements 48 PASS .x:has(:scope ~ .a > .b) matches expected elements 49 PASS .x:has(:scope ~ .a .b) matches expected elements 50 PASS .x:has(:scope ~ .a + .b) matches expected elements 51 PASS .x:has(:scope ~ .a + .b > .c) matches expected elements 52 PASS .x:has(:scope ~ .a + .b .c) matches expected elements 53 PASS :has(.x:scope ~ .a) matches expected elements 54 PASS :has(.x:scope ~ .a > .b) matches expected elements 55 PASS :has(.x:scope ~ .a .b) matches expected elements 56 PASS :has(.x:scope ~ .a + .b) matches expected elements 57 PASS :has(.x:scope ~ .a + .b > .c) matches expected elements 58 PASS :has(.x:scope ~ .a + .b .c) matches expected elements 59 PASS :has(:scope.x ~ .a) matches expected elements 60 PASS :has(:scope.x ~ .a > .b) matches expected elements 61 PASS :has(:scope.x ~ .a .b) matches expected elements 62 PASS :has(:scope.x ~ .a + .b) matches expected elements 63 PASS :has(:scope.x ~ .a + .b > .c) matches expected elements 64 PASS :has(:scope.x ~ .a + .b .c) matches expected elements 2 PASS .x:has(.a) matches expected elements 3 PASS .x:has(.a > .b) matches expected elements 4 PASS .x:has(.a .b) matches expected elements 5 PASS .x:has(.a + .b) matches expected elements 6 PASS .x:has(.a ~ .b) matches expected elements 7 PASS .x:has(> .a) matches expected elements 8 PASS .x:has(> .a > .b) matches expected elements 9 PASS .x:has(> .a .b) matches expected elements 10 PASS .x:has(> .a + .b) matches expected elements 11 PASS .x:has(> .a ~ .b) matches expected elements 12 PASS .x:has(+ .a) matches expected elements 13 PASS .x:has(+ .a > .b) matches expected elements 14 PASS .x:has(+ .a .b) matches expected elements 15 PASS .x:has(+ .a + .b) matches expected elements 16 PASS .x:has(+ .a ~ .b) matches expected elements 17 PASS .x:has(~ .a) matches expected elements 18 PASS .x:has(~ .a > .b) matches expected elements 19 PASS .x:has(~ .a .b) matches expected elements 20 PASS .x:has(~ .a + .b) matches expected elements 21 PASS .x:has(~ .a + .b > .c) matches expected elements 22 PASS .x:has(~ .a + .b .c) matches expected elements 65 23 PASS .x:has(.d .e) matches expected elements 66 24 PASS .x:has(.d .e) .f matches expected elements 67 PASS .x:has(:scope .d .e) matches expected elements 68 PASS .x:has(:scope .d .e) .f matches expected elements 69 PASS .x:has(:scope > .d) matches expected elements 70 PASS .x:has(:scope > .d) .f matches expected elements 71 PASS .x:has(:scope ~ .d ~ .e) matches expected elements 72 PASS .x:has(:scope ~ .d ~ .e) ~ .f matches expected elements 73 PASS .x:has(:scope + .d ~ .e) matches expected elements 74 PASS .x:has(:scope + .d ~ .e) ~ .f matches expected elements 75 PASS :has(.x:scope .d .e) matches expected elements 76 PASS :has(.x:scope .d .e) .f matches expected elements 77 PASS :has(.x:scope > .d) matches expected elements 78 PASS :has(.x:scope > .d) .f matches expected elements 79 PASS :has(.x:scope ~ .d ~ .e) matches expected elements 80 PASS :has(.x:scope ~ .d ~ .e) ~ .f matches expected elements 81 PASS :has(.x:scope + .d ~ .e) matches expected elements 82 PASS :has(.x:scope + .d ~ .e) ~ .f matches expected elements 83 PASS :has(:scope.x .d .e) matches expected elements 84 PASS :has(:scope.x .d .e) .f matches expected elements 85 PASS :has(:scope.x > .d) matches expected elements 86 PASS :has(:scope.x > .d) .f matches expected elements 87 PASS :has(:scope.x ~ .d ~ .e) matches expected elements 88 PASS :has(:scope.x ~ .d ~ .e) ~ .f matches expected elements 89 PASS :has(:scope.x + .d ~ .e) matches expected elements 90 PASS :has(:scope.x + .d ~ .e) ~ .f matches expected elements 91 PASS .y:has(:scope > .g .h) matches expected elements 92 PASS .y:has(:scope .g .h) matches expected elements 93 PASS .y:has(:scope > .g .h) .i matches expected elements 94 PASS .y:has(:scope .g .h) .i matches expected elements 95 PASS .x:has(:scope + .y:has(:scope > .g .h) .i) matches expected elements 96 PASS .x:has(:scope + .y:has(:scope .g .h) .i) matches expected elements 97 PASS .x:has(:scope + .y:has(:scope > .g .h) .i) ~ .j matches expected elements 98 PASS .x:has(:scope + .y:has(:scope .g .h) .i) ~ .j matches expected elements 99 PASS .x:has(:scope ~ .y:has(:scope > .g .h) .i) matches expected elements 100 PASS .x:has(:scope ~ .y:has(:scope .g .h) .i) matches expected elements 101 PASS :has(.y:scope > .g .h) matches expected elements 102 PASS :has(.y:scope .g .h) matches expected elements 103 PASS :has(.y:scope > .g .h) .i matches expected elements 104 PASS :has(.y:scope .g .h) .i matches expected elements 105 PASS :has(.x:scope + :has(.y:scope > .g .h) .i) matches expected elements 106 PASS :has(.x:scope + :has(.y:scope .g .h) .i) matches expected elements 107 PASS :has(.x:scope + :has(.y:scope > .g .h) .i) ~ .j matches expected elements 108 PASS :has(.x:scope + :has(.y:scope .g .h) .i) ~ .j matches expected elements 109 PASS :has(.x:scope ~ :has(.y:scope > .g .h) .i) matches expected elements 110 PASS :has(.x:scope ~ :has(.y:scope .g .h) .i) matches expected elements 111 PASS :has(:scope.y > .g .h) matches expected elements 112 PASS :has(:scope.y .g .h) matches expected elements 113 PASS :has(:scope.y > .g .h) .i matches expected elements 114 PASS :has(:scope.y .g .h) .i matches expected elements 115 PASS :has(:scope.x + :has(:scope.y > .g .h) .i) matches expected elements 116 PASS :has(:scope.x + :has(:scope.y .g .h) .i) matches expected elements 117 PASS :has(:scope.x + :has(:scope.y > .g .h) .i) ~ .j matches expected elements 118 PASS :has(:scope.x + :has(:scope.y .g .h) .i) ~ .j matches expected elements 119 PASS :has(:scope.x ~ :has(:scope.y > .g .h) .i) matches expected elements 120 PASS :has(:scope.x ~ :has(:scope.y .g .h) .i) matches expected elements 121 PASS .x:has(.d :scope .e) matches expected elements 122 PASS :has(.d .x:scope .e) matches expected elements 123 PASS :has(.d :scope.x .e) matches expected elements 124 PASS .x:has(.d ~ :scope ~ .e) matches expected elements 125 PASS :has(.d ~ .x:scope ~ .e) matches expected elements 126 PASS :has(.d ~ :scope.x ~ .e) matches expected elements 127 PASS :has(:scope .d :scope) matches expected elements 128 PASS :has(:scope ~ .d ~ :scope) matches expected elements 25 PASS .x:has(> .d) matches expected elements 26 PASS .x:has(> .d) .f matches expected elements 27 PASS .x:has(~ .d ~ .e) matches expected elements 28 PASS .x:has(~ .d ~ .e) ~ .f matches expected elements 29 PASS .x:has(+ .d ~ .e) matches expected elements 30 PASS .x:has(+ .d ~ .e) ~ .f matches expected elements 31 PASS .y:has(> .g .h) matches expected elements 32 PASS .y:has(.g .h) matches expected elements 33 PASS .y:has(> .g .h) .i matches expected elements 34 PASS .y:has(.g .h) .i matches expected elements 35 PASS .x:has(+ .y:has(> .g .h) .i) matches expected elements 36 PASS .x:has(+ .y:has(.g .h) .i) matches expected elements 37 PASS .x:has(+ .y:has(> .g .h) .i) ~ .j matches expected elements 38 PASS .x:has(+ .y:has(.g .h) .i) ~ .j matches expected elements 39 PASS .x:has(~ .y:has(> .g .h) .i) matches expected elements 40 PASS .x:has(~ .y:has(.g .h) .i) matches expected elements 41 PASS .d .x:has(.e) matches expected elements 42 PASS .d ~ .x:has(~ .e) matches expected elements 129 43 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-relative-argument.html
r279581 r285921 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> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/w3c-import.log
r270933 r285921 16 16 List of files: 17 17 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/any-link-pseudo.html 18 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has.html 18 19 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute.html 19 20 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/defined.html -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-has-expected.txt
r281295 r285921 9 9 PASS "*:has(.a)" should be a valid selector 10 10 PASS ".a:has(.b)" should be a valid selector 11 PASS ".a:has(:scope .b)" should be a valid selector12 PASS ":has(.a:scope .b)" should be a valid selector13 PASS ":has(.a .b:scope)" should be a valid selector14 11 PASS ".a:has(> .b)" should be a valid selector 15 PASS ".a:has(:scope > .b)" should be a valid selector16 PASS ":has(.a:scope > .b)" should be a valid selector17 PASS ":has(> .a .b:scope)" should be a valid selector18 12 PASS ".a:has(~ .b)" should be a valid selector 19 PASS ".a:has(:scope ~ .b)" should be a valid selector20 PASS ":has(.a:scope ~ .b)" should be a valid selector21 PASS ":has(~ .a .b:scope)" should be a valid selector22 13 PASS ".a:has(+ .b)" should be a valid selector 23 PASS ".a:has(:scope + .b)" should be a valid selector24 PASS ":has(.a:scope + .b)" should be a valid selector25 PASS ":has(+ .a .b:scope)" should be a valid selector26 PASS ".a:has(:scope .b :scope)" should be a valid selector27 14 PASS ".a:has(.b) .c" should be a valid selector 28 15 PASS ".a .b:has(.c)" should be a valid selector -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-has.html
r279581 r285921 17 17 test_valid_selector('*:has(.a)', ['*:has(.a)', ':has(.a)']); 18 18 test_valid_selector('.a:has(.b)'); 19 test_valid_selector('.a:has(:scope .b)');20 test_valid_selector(':has(.a:scope .b)');21 test_valid_selector(':has(.a .b:scope)');22 19 test_valid_selector('.a:has(> .b)'); 23 test_valid_selector('.a:has(:scope > .b)');24 test_valid_selector(':has(.a:scope > .b)');25 test_valid_selector(':has(> .a .b:scope)');26 20 test_valid_selector('.a:has(~ .b)'); 27 test_valid_selector('.a:has(:scope ~ .b)');28 test_valid_selector(':has(.a:scope ~ .b)');29 test_valid_selector(':has(~ .a .b:scope)');30 21 test_valid_selector('.a:has(+ .b)'); 31 test_valid_selector('.a:has(:scope + .b)');32 test_valid_selector(':has(.a:scope + .b)');33 test_valid_selector(':has(+ .a .b:scope)');34 test_valid_selector('.a:has(:scope .b :scope)');35 22 test_valid_selector('.a:has(.b) .c'); 36 23 test_valid_selector('.a .b:has(.c)'); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/w3c-import.log
r279581 r285921 10 10 ------------------------------------------------------------------------ 11 11 Properties requiring vendor prefixes: 12 appearance12 None 13 13 Property values requiring vendor prefixes: 14 14 None … … 20 20 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/any-link-dynamic-001.html 21 21 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/child-indexed-pseudo-class.html 22 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-letter-flag-001-expected.html 23 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-letter-flag-001.html 22 24 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001-expected.html 23 25 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001.html … … 104 106 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-within-shadow-006-expected.html 105 107 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-within-shadow-006.html 108 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-argument-with-explicit-scope.tentative.html 106 109 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-basic.html 110 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-matches-to-uninserted-elements.html 107 111 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/has-relative-argument.html 108 112 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/historical-xmlid-expected.xht … … 129 133 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited.html 130 134 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/missing-right-token.html 135 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/nesting-expected.html 136 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/nesting-parsing.html 137 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/nesting.html 131 138 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-complex.html 132 139 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-default-ns-001-expected.html … … 148 155 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/scope-without-scoping-expected.xht 149 156 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/scope-without-scoping.html 150 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-expected .html157 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-expected-mismatch.html 151 158 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-no-selection-noref.html 152 159 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001-noref.html 153 160 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-001.html 154 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-002-expected .html161 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-002-expected-mismatch.html 155 162 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selection-image-002.html 156 163 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/selector-placeholder-shown-emptify-placeholder.html … … 208 215 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/webkit-pseudo-element.html 209 216 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/x-pseudo-element.html 217 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/xml-class-selector-expected.xml 218 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/xml-class-selector.xml
Note:
See TracChangeset
for help on using the changeset viewer.