Closed Bug 1769507 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 34067 - Add wpt tests for tree-structural pseudo classes inside :has()

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox102 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 34067 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/34067
Details from upstream follow.

Byungwoo Lee <blee@igalia.com> wrote:

Add wpt tests for tree-structural pseudo classes inside :has()

Add wpt tests to check invalidation with tree-structural pseudo classes
inside :has().

  • ':empty' pseudo-class
  • Child-indexed Pseudo-classes
  • Typed Child-indexed Pseudo-classes

Bug: 669058
Change-Id: I806ccaaa6f9660bd0119c5e2b340928d154c47f5
Reviewed-on: https://chromium-review.googlesource.com/3650110
WPT-Export-Revision: 6c1a59ce8f7f4d27dbd5addd34e077b7e3125c48

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 3 tests and 102 subtests

Status Summary

Firefox

OK : 3
PASS: 94
FAIL: 77

Chrome

OK : 3
PASS: 171

Safari

OK : 3
PASS: 104
FAIL: 67

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /css/selectors/invalidation/child-indexed-pseudo-classes-in-has.html [wpt.fyi]
    • Prepend #div1.green: #only_child: FAIL
    • Prepend #div1.green: #first_child: FAIL
    • Prepend #div1.green: #last_child: FAIL
    • Prepend #div1.green: #nth_child_3n_1: FAIL
    • Prepend #div2.yellow: #first_child: FAIL
    • Prepend #div2.yellow: #last_child: FAIL
    • Prepend #div2.yellow: #nth_child_3n_1: FAIL
    • Prepend #div3.orange: #first_child: FAIL
    • Prepend #div3.orange: #last_child: FAIL
    • Prepend #div3.orange: #nth_child_3n_1: FAIL
    • Prepend #div4: #last_child: FAIL
    • Prepend #div5: #last_child: FAIL
    • Remove #div1: #last_child: FAIL
    • Remove #div2: #last_child: FAIL
    • Remove #div4: #only_child: FAIL
  • /css/selectors/invalidation/empty-pseudo-in-has.html [wpt.fyi]
    • Insert div#child to #subject: FAIL
    • Insert div to div.#child: FAIL
  • /css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has.html [wpt.fyi]
    • Prepend #div1.green: #only_of_type: FAIL
    • Prepend #div1.green: #first_of_type: FAIL
    • Prepend #div1.green: #last_of_type: FAIL
    • Prepend #div1.green: #nth_of_type_3n_1: FAIL
    • Prepend span (2): #only_of_type: FAIL
    • Prepend span (2): #first_of_type: FAIL
    • Prepend span (2): #last_of_type: FAIL
    • Prepend span (2): #nth_of_type_3n_1: FAIL
    • Prepend #div2.yellow: #first_of_type: FAIL
    • Prepend #div2.yellow: #last_of_type: FAIL
    • Prepend #div2.yellow: #nth_of_type_3n_1: FAIL
    • Prepend span (3): #first_of_type: FAIL
    • Prepend span (3): #last_of_type: FAIL
    • Prepend span (3): #nth_of_type_3n_1: FAIL
    • Prepend #div3.orange: #first_of_type: FAIL
    • Prepend #div3.orange: #last_of_type: FAIL
    • Prepend #div3.orange: #nth_of_type_3n_1: FAIL
    • Prepend span (4): #first_of_type: FAIL
    • Prepend span (4): #last_of_type: FAIL
    • Prepend span (4): #nth_of_type_3n_1: FAIL
    • Prepend #div4: #last_of_type: FAIL
    • Prepend span (5): #last_of_type: FAIL
    • Prepend #div5: #last_of_type: FAIL
    • Prepend span (6): #last_of_type: FAIL
    • Remove #div1: #last_of_type: FAIL
    • Remove #div2: #last_of_type: FAIL
    • Remove #div4: #only_of_type: FAIL

New Tests That Don't Pass

  • /css/selectors/invalidation/child-indexed-pseudo-classes-in-has.html [wpt.fyi]
    • Prepend #div1.green: #only_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #first_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #first_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #nth_child_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div3.orange: #first_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #nth_child_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div3.orange: #nth_child_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div4: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #nth_child_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #nth_child_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div5: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #nth_child_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #nth_child_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div1: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Remove #div1: #nth_child_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div1: #nth_child_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div2: #last_child: FAIL (Chrome: PASS, Safari: PASS)
    • Remove #div2: #nth_child_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div4: #only_child: FAIL (Chrome: PASS, Safari: PASS)
  • /css/selectors/invalidation/empty-pseudo-in-has.html [wpt.fyi]
    • Insert div#child to #subject: FAIL (Chrome: PASS, Safari: PASS)
    • Insert div to div.#child: FAIL (Chrome: PASS, Safari: PASS)
  • /css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has.html [wpt.fyi]
    • Prepend #div1.green: #only_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div1.green: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (2): #only_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (2): #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (2): #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (2): #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div2.yellow: #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (3): #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (3): #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (3): #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (3): #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div3.orange: #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div3.orange: #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div3.orange: #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (4): #first_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (4): #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (4): #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (4): #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (4): #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div4: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div4: #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (5): #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (5): #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (5): #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (5): #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend #div5: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend #div5: #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (6): #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Prepend span (6): #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (6): #nth_of_type_3n_2: FAIL (Chrome: PASS, Safari: FAIL)
    • Prepend span (6): #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div1: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Remove #div1: #nth_of_type_3n_1: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div1: #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div2: #last_of_type: FAIL (Chrome: PASS, Safari: PASS)
    • Remove #div2: #nth_of_type_3n: FAIL (Chrome: PASS, Safari: FAIL)
    • Remove #div4: #only_of_type: FAIL (Chrome: PASS, Safari: PASS)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f56bcb2d0260 [wpt PR 34067] - Add wpt tests for tree-structural pseudo classes inside :has(), a=testonly https://hg.mozilla.org/integration/autoland/rev/740b96fa4848 [wpt PR 34067] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
You need to log in before you can comment on or make changes to this bug.