From 6c945fc3537a26b75b31c4183f1f46799296ecc9 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 6 Nov 2024 19:19:08 +0100 Subject: [PATCH] Tests: Import more CSS selector tests from WPT --- .../selectors/child-indexed-pseudo-class.txt | 65 ++++++ .../selectors/dir-pseudo-on-bdi-element.txt | 16 ++ .../selectors/dir-pseudo-on-input-element.txt | 30 +++ .../css/selectors/dir-selector-auto.txt | 32 +++ .../selectors/dir-selector-querySelector.txt | 15 ++ .../wpt-import/css/selectors/first-child.txt | 15 ++ .../css/selectors/first-of-type.txt | 19 ++ .../css/selectors/focus-display-none-001.txt | 12 + .../selectors/focus-in-focus-event-001.txt | 13 ++ .../selectors/focus-in-focusin-event-001.txt | 13 ++ .../css/selectors/focus-visible-009.txt | 11 + .../css/selectors/focus-visible-010.txt | 11 + .../css/selectors/focus-visible-014.txt | 11 + .../css/selectors/focus-visible-017-2.txt | 48 ++++ .../css/selectors/focus-visible-017.txt | 12 + .../css/selectors/focus-visible-020.txt | 13 ++ .../focus-visible-script-focus-001.txt | 12 + .../css/selectors/focus-within-009.txt | 23 ++ .../focus-within-display-none-001.txt | 12 + .../css/selectors/hash-collision.txt | 11 + .../wpt-import/css/selectors/last-child.txt | 15 ++ .../wpt-import/css/selectors/last-of-type.txt | 19 ++ .../css/selectors/missing-right-token.txt | 11 + .../wpt-import/css/selectors/not-complex.txt | 30 +++ .../css/selectors/not-specificity.txt | 18 ++ .../css/selectors/nth-last-child-invalid.txt | 11 + .../css/selectors/nth-of-type-namespace.txt | 14 ++ .../wpt-import/css/selectors/only-child.txt | 15 ++ .../wpt-import/css/selectors/only-of-type.txt | 15 ++ .../css/selectors/placeholder-shown.txt | 17 ++ .../css/selectors/pseudo-enabled-disabled.txt | 14 ++ .../css/selectors/scope-selector.txt | 14 ++ ...-placeholder-shown-emptify-placeholder.txt | 12 + .../selectors-case-sensitive-001.txt | 14 ++ .../css/selectors/webkit-pseudo-element.txt | 15 ++ .../css/selectors/x-pseudo-element.txt | 11 + .../selectors/child-indexed-pseudo-class.html | 55 +++++ .../selectors/dir-pseudo-on-bdi-element.html | 80 +++++++ .../dir-pseudo-on-input-element.html | 207 ++++++++++++++++++ .../css/selectors/dir-selector-auto.html | 93 ++++++++ .../selectors/dir-selector-querySelector.html | 71 ++++++ .../wpt-import/css/selectors/first-child.html | 52 +++++ .../css/selectors/first-of-type.html | 90 ++++++++ .../css/selectors/focus-display-none-001.html | 50 +++++ .../selectors/focus-in-focus-event-001.html | 43 ++++ .../selectors/focus-in-focusin-event-001.html | 41 ++++ .../css/selectors/focus-visible-009.html | 45 ++++ .../css/selectors/focus-visible-010.html | 49 +++++ .../css/selectors/focus-visible-014.html | 43 ++++ .../css/selectors/focus-visible-017-2.html | 93 ++++++++ .../css/selectors/focus-visible-017.html | 44 ++++ .../css/selectors/focus-visible-020.html | 62 ++++++ .../focus-visible-script-focus-001.html | 54 +++++ .../css/selectors/focus-within-009.html | 158 +++++++++++++ .../focus-within-display-none-001.html | 58 +++++ .../css/selectors/hash-collision.html | 45 ++++ .../wpt-import/css/selectors/last-child.html | 52 +++++ .../css/selectors/last-of-type.html | 89 ++++++++ .../css/selectors/missing-right-token.html | 31 +++ .../wpt-import/css/selectors/not-complex.html | 46 ++++ .../css/selectors/not-specificity.html | 50 +++++ .../css/selectors/nth-last-child-invalid.html | 24 ++ .../css/selectors/nth-of-type-namespace.html | 48 ++++ .../wpt-import/css/selectors/only-child.html | 61 ++++++ .../css/selectors/only-of-type.html | 64 ++++++ .../css/selectors/placeholder-shown.html | 41 ++++ .../selectors/pseudo-enabled-disabled.html | 51 +++++ .../css/selectors/scope-selector.html | 37 ++++ ...placeholder-shown-emptify-placeholder.html | 22 ++ .../selectors-case-sensitive-001.html | 40 ++++ .../css/selectors/webkit-pseudo-element.html | 48 ++++ .../css/selectors/x-pseudo-element.html | 22 ++ 72 files changed, 2798 insertions(+) create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/child-indexed-pseudo-class.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-bdi-element.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-input-element.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-auto.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-querySelector.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-child.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-of-type.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-display-none-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focus-event-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focusin-event-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-009.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-010.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-014.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017-2.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-020.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-script-focus-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-009.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-display-none-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/hash-collision.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-child.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-of-type.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/missing-right-token.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-complex.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-specificity.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-last-child-invalid.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-of-type-namespace.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-child.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-of-type.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/placeholder-shown.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/pseudo-enabled-disabled.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/scope-selector.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/selectors-case-sensitive-001.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/webkit-pseudo-element.txt create mode 100644 Tests/LibWeb/Text/expected/wpt-import/css/selectors/x-pseudo-element.txt create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/child-indexed-pseudo-class.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-bdi-element.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-input-element.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-auto.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-querySelector.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/first-child.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/first-of-type.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-display-none-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focus-event-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focusin-event-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-009.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-010.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-014.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017-2.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-020.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-script-focus-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-009.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-display-none-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/hash-collision.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/last-child.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/last-of-type.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/missing-right-token.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/not-complex.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/not-specificity.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-last-child-invalid.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-of-type-namespace.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/only-child.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/only-of-type.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/placeholder-shown.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/pseudo-enabled-disabled.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/scope-selector.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/selectors-case-sensitive-001.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/webkit-pseudo-element.html create mode 100644 Tests/LibWeb/Text/input/wpt-import/css/selectors/x-pseudo-element.html diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/child-indexed-pseudo-class.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/child-indexed-pseudo-class.txt new file mode 100644 index 00000000000..d9749da30ed --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/child-indexed-pseudo-class.txt @@ -0,0 +1,65 @@ +Summary + +Harness status: OK + +Rerun + +Found 54 tests + +30 Pass +24 Fail +Details +Result Test Name MessagePass Expected HTML element to match :first-child with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to match :last-child with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to match :only-child with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to match :first-of-type with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to match :last-of-type with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to match :only-of-type with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-child(1) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-child(n) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-last-child(1) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-last-child(n) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-of-type(1) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-of-type(n) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-last-of-type(1) with matches, querySelector(), and querySelectorAll() +Fail Expected HTML element to match :nth-last-of-type(n) with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to not match :nth-child(2) with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to not match :nth-last-child(2) with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to not match :nth-of-type(2) with matches, querySelector(), and querySelectorAll() +Pass Expected HTML element to not match :nth-last-of-type(2) with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :first-child with matches +Pass Expected DIV element to match :last-child with matches +Pass Expected DIV element to match :only-child with matches +Pass Expected DIV element to match :first-of-type with matches +Pass Expected DIV element to match :last-of-type with matches +Pass Expected DIV element to match :only-of-type with matches +Fail Expected DIV element to match :nth-child(1) with matches +Fail Expected DIV element to match :nth-child(n) with matches +Fail Expected DIV element to match :nth-last-child(1) with matches +Fail Expected DIV element to match :nth-last-child(n) with matches +Fail Expected DIV element to match :nth-of-type(1) with matches +Fail Expected DIV element to match :nth-of-type(n) with matches +Fail Expected DIV element to match :nth-last-of-type(1) with matches +Fail Expected DIV element to match :nth-last-of-type(n) with matches +Pass Expected DIV element to not match :nth-child(2) with matches +Pass Expected DIV element to not match :nth-last-child(2) with matches +Pass Expected DIV element to not match :nth-of-type(2) with matches +Pass Expected DIV element to not match :nth-last-of-type(2) with matches +Pass Expected DIV element to match :first-child with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :last-child with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :only-child with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :first-of-type with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :last-of-type with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to match :only-of-type with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-child(1) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-child(n) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-last-child(1) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-last-child(n) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-of-type(1) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-of-type(n) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-last-of-type(1) with matches, querySelector(), and querySelectorAll() +Fail Expected DIV element to match :nth-last-of-type(n) with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to not match :nth-child(2) with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to not match :nth-last-child(2) with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to not match :nth-of-type(2) with matches, querySelector(), and querySelectorAll() +Pass Expected DIV element to not match :nth-last-of-type(2) with matches, querySelector(), and querySelectorAll() \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-bdi-element.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-bdi-element.txt new file mode 100644 index 00000000000..863ec8eccb5 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-bdi-element.txt @@ -0,0 +1,16 @@ +Summary + +Harness status: OK + +Rerun + +Found 5 tests + +3 Pass +2 Fail +Details +Result Test Name MessageFail bdi element without dir content attribute +Fail bdi element with invalid dir content attribute +Pass bdi element with dir=auto content attribute +Pass bdi element with dir=ltr content attribute +Pass bdi element with dir=rtl content attribute \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-input-element.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-input-element.txt new file mode 100644 index 00000000000..0a324a49c04 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-pseudo-on-input-element.txt @@ -0,0 +1,30 @@ +Summary + +Harness status: OK + +Rerun + +Found 20 tests + +20 Pass +Details +Result Test Name MessagePass input element whose type attribute is in the telephone state +Pass input element whose type attribute is in the telephone state in a RTL block +Pass input element whose type attribute is in the password state +Pass input element whose type attribute is in the text state +Pass input element whose type attribute is in the search state +Pass input element whose type attribute is in the url state +Pass input element whose type attribute is in the email state +Pass input element whose type attribute is in the submit state +Pass input element whose type attribute is in the reset state +Pass input element whose type attribute is in the button state +Pass input element whose type attribute is in the hidden state +Pass dynamic changes to type of input elements affect whether value is used for dir=auto +Pass input element whose type attribute is in the date state +Pass input element whose type attribute is in the time state +Pass input element whose type attribute is in the number state +Pass input element whose type attribute is in the range state +Pass input element whose type attribute is in the color state +Pass input element whose type attribute is in the checkbox state +Pass input element whose type attribute is in the radio state +Pass input element whose type attribute is in the image state \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-auto.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-auto.txt new file mode 100644 index 00000000000..d17ba839ad6 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-auto.txt @@ -0,0 +1,32 @@ +Summary + +Harness status: OK + +Rerun + +Found 22 tests + +22 Pass +Details +Result Test Name MessagePass Initial directionality of element div1 is ltr +Pass Initial directionality of element div1_1 is ltr +Pass Initial directionality of element div2 is rtl +Pass Initial directionality of element div2_1 is rtl +Pass Initial directionality of element div3 is ltr +Pass Initial directionality of element div3_1 is rtl +Pass Initial directionality of element div3_2 is ltr +Pass Initial directionality of element div4 is ltr +Pass Initial directionality of element div4_1 is ltr +Pass Initial directionality of element div4_1_1 is ltr +Pass Updated directionality of element div1 is rtl +Pass Updated directionality of element div1_1 is rtl +Pass Updated directionality of element div1 is ltr +Pass Updated directionality of element div1_1 is ltr +Pass Reupdated directionality of element div1 is ltr +Pass Reupdated directionality of element div1_1 is ltr +Pass Updated directionality of element div2 is ltr +Pass Updated directionality of element div3 is rtl +Pass Updated directionality of element div3 is ltr +Pass Updated directionality of element div4 is rtl +Pass Updated directionality of element div4_1 is rtl +Pass Updated directionality of element div4_1_1 is rtl \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-querySelector.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-querySelector.txt new file mode 100644 index 00000000000..a5d08e7b463 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/dir-selector-querySelector.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 4 tests + +3 Pass +1 Fail +Details +Result Test Name MessageFail :dir() allows any ident value but strings other than ltr/rtl don't match Failed to parse selector +Pass :dir() requires exactly an ident argument +Pass :dir() works in compound selectors +Pass :dir() works in complex selectors \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-child.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-child.txt new file mode 100644 index 00000000000..85a11bb91e7 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-child.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 5 tests + +5 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass There is the second child element. +Pass A comment node should be ignored. +Pass Non-whitespace text node should be ignored. +Pass The second child should not be matched. \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-of-type.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-of-type.txt new file mode 100644 index 00000000000..31c7cba14f7 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/first-of-type.txt @@ -0,0 +1,19 @@ +Summary + +Harness status: OK + +Rerun + +Found 9 tests + +9 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass Thre is another child element of the same type. +Pass There is a prior child element of another type. +Pass A previous element of the parent should not affect. +Pass The parent element of the same type should not affect. +Pass A child of the previous element should not affect. +Pass The second child element of the same type should not match. +Pass The second child element of the same type should not match, the first child has case-different tag name. +Pass Dynamic insertion and removal \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-display-none-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-display-none-001.txt new file mode 100644 index 00000000000..32eca8801d3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-display-none-001.txt @@ -0,0 +1,12 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +2 Fail +Details +Result Test Name MessageFail Test ':focus' after 'display:none' on input +Fail Test ':focus' after 'display:none' on input's parent \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focus-event-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focus-event-001.txt new file mode 100644 index 00000000000..78b137b5cd0 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focus-event-001.txt @@ -0,0 +1,13 @@ +Summary + +Harness status: OK + +Rerun + +Found 3 tests + +3 Pass +Details +Result Test Name MessagePass Checks that ':focus' pseudo-class matches inside 'focus' event handler +Pass Checks that ':focus-visible' pseudo-class matches inside 'focus' event handler +Pass Checks that ':focus-within' pseudo-class matches inside 'focus' event handler \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focusin-event-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focusin-event-001.txt new file mode 100644 index 00000000000..7b531ea080c --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-in-focusin-event-001.txt @@ -0,0 +1,13 @@ +Summary + +Harness status: OK + +Rerun + +Found 3 tests + +3 Pass +Details +Result Test Name MessagePass Checks that ':focus' pseudo-class matches inside 'focusin' event handler +Pass Checks that ':focus-visible' pseudo-class matches inside 'focusin' event handler +Pass Checks that ':focus-within' pseudo-class matches inside 'focusin' event handler \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-009.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-009.txt new file mode 100644 index 00000000000..e25d8843202 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-009.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Fail +Details +Result Test Name MessageFail Autofocus should match :focus-visible \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-010.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-010.txt new file mode 100644 index 00000000000..5b4fce55574 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-010.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Pass +Details +Result Test Name MessagePass Programmatic focus on page load should match :focus-visible \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-014.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-014.txt new file mode 100644 index 00000000000..9e6a52197a2 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-014.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Pass +Details +Result Test Name MessagePass :focus-visible matches after script focus move \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017-2.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017-2.txt new file mode 100644 index 00000000000..87d4388cdb8 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017-2.txt @@ -0,0 +1,48 @@ +Summary + +Harness status: OK + +Rerun + +Found 38 tests + +38 Pass +Details +Result Test Name MessagePass ":focus-visible" should be a valid selector +Pass By default initial programatic focus matches ':focus-visible', so the element ABBR shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element ADDRESS shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element BDI shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element BLOCKQUOTE shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element CODE shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element DD shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element SUMMARY shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element DETAILS shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element DIV shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element DL shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element DT shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element EM shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element LEGEND shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element FIGCAPTION shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element FIGURE shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element FORM shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element HR shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element IMG shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element LABEL shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element LI shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element MARK shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element METER shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element OL shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element PRE shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element PROGRESS shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element P shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element SMALL shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element S shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element STRONG shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element SUB shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element SUP shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element CAPTION shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element TABLE shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element TD shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element TIME shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element UL shows a focus ring with 'outline-style: auto' +Pass By default initial programatic focus matches ':focus-visible', so the element U shows a focus ring with 'outline-style: auto' \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017.txt new file mode 100644 index 00000000000..b50bca2b792 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-017.txt @@ -0,0 +1,12 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +2 Pass +Details +Result Test Name MessagePass ":focus-visible" should be a valid selector +Pass By default initial programatic focus matches ':focus-visible', so the element shows a focus ring with 'outline-style: auto' \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-020.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-020.txt new file mode 100644 index 00000000000..b60ad655a62 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-020.txt @@ -0,0 +1,13 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +1 Pass +1 Fail +Details +Result Test Name MessagePass ":focus-visible" should be a valid selector +Fail :focus-visible doesn't match on ShadowRoot \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-script-focus-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-script-focus-001.txt new file mode 100644 index 00000000000..38057f673a5 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-visible-script-focus-001.txt @@ -0,0 +1,12 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +2 Pass +Details +Result Test Name MessagePass ":focus-visible" should be a valid selector +Pass Script focus without any previous user interaction matches :focus-visible \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-009.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-009.txt new file mode 100644 index 00000000000..afd5195f19c --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-009.txt @@ -0,0 +1,23 @@ +Summary + +Harness status: OK + +Rerun + +Found 12 tests + +1 Pass +11 Fail +Details +Result Test Name MessagePass Initial State +Fail Focus 'target1' +Fail Focus 'target2' +Fail Focus 'target1' again +Fail Focus 'target2' again +Fail Focus 'target1' once again +Fail Detach 'container1' from the document +Fail Try to focus 'target1' +Fail Focus 'target2' once again +Fail Attach 'container1' in 'container2' +Fail Focus 'target1' for the last time +Fail Move 'target1' in 'container2' \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-display-none-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-display-none-001.txt new file mode 100644 index 00000000000..528acc12cfb --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/focus-within-display-none-001.txt @@ -0,0 +1,12 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +2 Fail +Details +Result Test Name MessageFail Test ':focus-within' after 'display:none' on input +Fail Test ':focus-within' after 'display:none' on input's parent \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/hash-collision.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/hash-collision.txt new file mode 100644 index 00000000000..ae094f146d3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/hash-collision.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Fail +Details +Result Test Name MessageFail Test string hash collision in bucketing \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-child.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-child.txt new file mode 100644 index 00000000000..01decc05771 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-child.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 5 tests + +5 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass There is a prior child element. +Pass A comment node should be ignored. +Pass Non-whitespace text node should be ignored. +Pass The first child should not be matched. \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-of-type.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-of-type.txt new file mode 100644 index 00000000000..938c37921ca --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/last-of-type.txt @@ -0,0 +1,19 @@ +Summary + +Harness status: OK + +Rerun + +Found 9 tests + +9 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass Thre is another child element of the same type. +Pass There is a posterior child element of another type. +Pass A next element of the parent should not affect. +Pass The parent element of the same type should not affect. +Pass A child of the next element should not affect. +Pass The first child element of the same type should not match. +Pass The first child element of the same type should not match, the last child has a case-different tag name. +Pass Dynamic insertion and removal \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/missing-right-token.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/missing-right-token.txt new file mode 100644 index 00000000000..5861bd1e65e --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/missing-right-token.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Pass +Details +Result Test Name MessagePass attribute selectors with missing right tokens succeed \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-complex.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-complex.txt new file mode 100644 index 00000000000..272c9203854 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-complex.txt @@ -0,0 +1,30 @@ +Summary + +Harness status: OK + +Rerun + +Found 20 tests + +20 Pass +Details +Result Test Name MessagePass :not(#a) matches expected elements +Pass :not(#a #d) matches expected elements +Pass :not(#b div) matches expected elements +Pass :not(div div) matches expected elements +Pass :not(div + div) matches expected elements +Pass :not(main > div) matches expected elements +Pass :not(#a, #b) matches expected elements +Pass :not(#f, main > div) matches expected elements +Pass :not(div + div + div, div + div > div) matches expected elements +Pass :not(div:nth-child(1)) matches expected elements +Pass :not(:not(div)) matches expected elements +Pass :not(:not(:not(div))) matches expected elements +Pass :not(div, span) matches expected elements +Pass :not(span, p) matches expected elements +Pass :not(#unknown, .unknown) matches expected elements +Pass :not(#unknown > div, span) matches expected elements +Pass :not(#unknown ~ div, span) matches expected elements +Pass :not(:hover div) matches expected elements +Pass :not(:link div) matches expected elements +Pass :not(:visited div) matches expected elements \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-specificity.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-specificity.txt new file mode 100644 index 00000000000..b4fdd15d018 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/not-specificity.txt @@ -0,0 +1,18 @@ +Summary + +Harness status: OK + +Rerun + +Found 8 tests + +8 Fail +Details +Result Test Name MessageFail :not(#foo) wins over :not(.foo) +Fail :not(div#foo) wins over :not(#foo) +Fail :not(.bar, #foo) has same specificity as :not(#foo, .bar) +Fail :not(.bar, #foo) wins over :not(.foo, .bar) +Fail :not(span + span) wins over :not(span) +Fail :not(span, li, p) wins over :not(span, lo, p) +Fail :not(span, :not(:not(.a#foo)), p) wins over :not(span, #foo, p) +Fail :not(span, #foo, p) wins over :not(span, :where(.a#foo), p) \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-last-child-invalid.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-last-child-invalid.txt new file mode 100644 index 00000000000..9224132f1d7 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-last-child-invalid.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Pass +Details +Result Test Name MessagePass CSS Selectors: :nth-last-child() with no argument \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-of-type-namespace.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-of-type-namespace.txt new file mode 100644 index 00000000000..6286dd10a5a --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/nth-of-type-namespace.txt @@ -0,0 +1,14 @@ +Summary + +Harness status: OK + +Rerun + +Found 3 tests + +2 Pass +1 Fail +Details +Result Test Name MessagePass :nth-of-type selectors matching takes element namespace into account (http://www.w3.org/1999/xhtml) +Pass :nth-of-type selectors matching takes element namespace into account (http://dummy1/) +Fail :nth-of-type selectors matching takes element namespace into account (http://dummy2/) \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-child.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-child.txt new file mode 100644 index 00000000000..b1d975d93df --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-child.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 5 tests + +5 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass A comment node should be ignored. +Pass Non-whitespace text node should be ignored. +Pass There is another child element. +Pass Dynamic addition and removal \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-of-type.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-of-type.txt new file mode 100644 index 00000000000..f01018ce90d --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/only-of-type.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 5 tests + +5 Pass +Details +Result Test Name MessagePass Whitespace nodes should be ignored. +Pass A comment node should be ignored. +Pass Non-whitespace text node should be ignored. +Pass There is another child element of a different type. +Pass Dynamic addition and removal \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/placeholder-shown.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/placeholder-shown.txt new file mode 100644 index 00000000000..b6166b6e4b2 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/placeholder-shown.txt @@ -0,0 +1,17 @@ +Summary + +Harness status: OK + +Rerun + +Found 7 tests + +7 Pass +Details +Result Test Name MessagePass CSS Selectors Test: :placeholder-shown matching +Pass CSS Selectors Test: :placeholder-shown matching 1 +Pass CSS Selectors Test: :placeholder-shown matching 2 +Pass CSS Selectors Test: :placeholder-shown matching 3 +Pass CSS Selectors Test: :placeholder-shown matching 4 +Pass CSS Selectors Test: :placeholder-shown matching 5 +Pass CSS Selectors Test: :placeholder-shown matching 6 \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/pseudo-enabled-disabled.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/pseudo-enabled-disabled.txt new file mode 100644 index 00000000000..698f0aaa3be --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/pseudo-enabled-disabled.txt @@ -0,0 +1,14 @@ +Summary + +Harness status: OK + +Rerun + +Found 4 tests + +4 Pass +Details +Result Test Name MessagePass :enabeld should match to enabled controls +Pass :disabled should match to enabled controls +Pass :not(:enabeld) should match to disabled controls and non-controls +Pass :not(:disabled) should match to enabled controls and non-controls \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/scope-selector.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/scope-selector.txt new file mode 100644 index 00000000000..fe04ac0bc34 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/scope-selector.txt @@ -0,0 +1,14 @@ +Summary + +Harness status: OK + +Rerun + +Found 3 tests + +2 Pass +1 Fail +Details +Result Test Name MessagePass scope-selector +Pass scope-selector 1 +Fail querySelector() with ":scope" should return the document element, if present in the subtree \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.txt new file mode 100644 index 00000000000..76f802d9d2d --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.txt @@ -0,0 +1,12 @@ +Summary + +Harness status: OK + +Rerun + +Found 2 tests + +2 Pass +Details +Result Test Name MessagePass input:placeholder-shown should not be matched +Pass textarea:placeholder-shown should not be matched \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selectors-case-sensitive-001.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selectors-case-sensitive-001.txt new file mode 100644 index 00000000000..0b46d0268d8 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/selectors-case-sensitive-001.txt @@ -0,0 +1,14 @@ +Summary + +Harness status: OK + +Rerun + +Found 3 tests + +1 Pass +2 Fail +Details +Result Test Name MessageFail CSS selector should match for Unicode uppercase element +Fail Elements with namespace should work the same way +Pass `querySelector` should not use Unicode case-folding \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/webkit-pseudo-element.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/webkit-pseudo-element.txt new file mode 100644 index 00000000000..dff975403b5 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/webkit-pseudo-element.txt @@ -0,0 +1,15 @@ +Summary + +Harness status: OK + +Rerun + +Found 4 tests + +3 Pass +1 Fail +Details +Result Test Name MessagePass rules include webkit-prefixed pseudo-element should be cascaded +Fail webkit-prefixed pseudo-element selectors should be accessible from CSSOM +Pass qS and qSA shouldn't throw exception +Pass webkit-prefix without dash is invalid \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/x-pseudo-element.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/x-pseudo-element.txt new file mode 100644 index 00000000000..2db299cf9bc --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/x-pseudo-element.txt @@ -0,0 +1,11 @@ +Summary + +Harness status: OK + +Rerun + +Found 1 tests + +1 Pass +Details +Result Test Name MessagePass x-prefixed pseudo-elements should make the whole rule invalid \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/child-indexed-pseudo-class.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/child-indexed-pseudo-class.html new file mode 100644 index 00000000000..767e0391ba2 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/child-indexed-pseudo-class.html @@ -0,0 +1,55 @@ + + +Matching of child-indexed pseudo-classes + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-bdi-element.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-bdi-element.html new file mode 100644 index 00000000000..bb26ac5e5c9 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-bdi-element.html @@ -0,0 +1,80 @@ + + + + + + + + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-input-element.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-input-element.html new file mode 100644 index 00000000000..0834033c9b6 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-pseudo-on-input-element.html @@ -0,0 +1,207 @@ + + + + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-auto.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-auto.html new file mode 100644 index 00000000000..88ad8369d24 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-auto.html @@ -0,0 +1,93 @@ + + + + + + + + + + + +
+
+
a
+
+
+
ת
+
+
+
ת
+
a
+
+
+
+
a
+
+
+
+ + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-querySelector.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-querySelector.html new file mode 100644 index 00000000000..eecee4e941e --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/dir-selector-querySelector.html @@ -0,0 +1,71 @@ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-child.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-child.html new file mode 100644 index 00000000000..3d7fa35f9b3 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-child.html @@ -0,0 +1,52 @@ + + + + +CSS Selectors :first-child + + + + + + +
+
Whitespace nodes should be ignored.
+
+ +
+
There is the second child element.
+
+
+ +
+ +
A comment node should be ignored.
+
+ +
+ . +
Non-whitespace text node should be ignored.
+
+ +
+
+
The second child should not be matched.
+
+ + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-of-type.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-of-type.html new file mode 100644 index 00000000000..678e78bae7a --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/first-of-type.html @@ -0,0 +1,90 @@ + + + + +CSS Selectors :first-of-type + + + + + + +
+
Whitespace nodes should be ignored.
+
+ +
+
Thre is another child element of the same type.
+
+
+ +
+
+
There is a prior child element of another type.
+
+ +
+
+
+
A previous element of the parent should not affect.
+
+
+ +
+
+
The parent element of the same type should not affect.
+
+
+ +
+
+
+
+
A child of the previous element should not affect.
+
+ +
+
+
The second child element of the same +type should not match.
+
+ +
+
+
The second child element of the same +type should not match, the first child has case-different tag name.
+
+ +
+
+
+ + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-display-none-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-display-none-001.html new file mode 100644 index 00000000000..ba4cd90ba0b --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-display-none-001.html @@ -0,0 +1,50 @@ + + +Selectors Level 4: focus + + + + + + +
+ +
+ diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focus-event-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focus-event-001.html new file mode 100644 index 00000000000..15407366f57 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focus-event-001.html @@ -0,0 +1,43 @@ + + +Selectors Level 4: :focus, :focus-visible and :focus-within in focus event + + + + + + + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focusin-event-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focusin-event-001.html new file mode 100644 index 00000000000..d15ae4322be --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-in-focusin-event-001.html @@ -0,0 +1,41 @@ + + +Selectors Level 4: :focus, :focus-visible and :focus-within in focusin event + + + + + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-009.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-009.html new file mode 100644 index 00000000000..cd295c9230f --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-009.html @@ -0,0 +1,45 @@ + + + + + CSS Test (Selectors): Keyboard focus enables :focus-visible + + + + + + + + + This test checks that any element focused via an autofocus attribute will have :focus-visible matching enabled. + +
+ + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-010.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-010.html new file mode 100644 index 00000000000..783f46852af --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-010.html @@ -0,0 +1,49 @@ + + + + + CSS Test (Selectors): Keyboard focus enables :focus-visible + + + + + + + + This test checks that any element focused programmatically on page load will have :focus-visible matching enabled. + +
+
I will be focused automatically.
+ + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-014.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-014.html new file mode 100644 index 00000000000..189f30fd659 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-014.html @@ -0,0 +1,43 @@ + + +CSS Selectors Test: :focus-visible matches after script focus move + + + + + + + + +
Target
+ + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017-2.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017-2.html new file mode 100644 index 00000000000..224cb7c232c --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017-2.html @@ -0,0 +1,93 @@ + + +CSS Test (Selectors): By default programatic focus matches :focus-visible and it shows an auto focus ring + + + + + + + + + +

This test checks that by default, if using JavaScript to focus an element triggers :focus-visible matching, then the element should show a focus ring with outline-style: auto.

+
    +
  1. Focus the following elements with the keyaboard navigation (pressing TAB), if the elements show a focus ring with outline-style: auto, then the test result is SUCCESS.
  2. +
+

Your user-agent does not support :focus-visible pseudo-class, please SKIP this test.

+ +abbr +
address
+a +bdi +
blockquote
+code +
dd
+
summary
+
+
div
+
dl
+
dt
+em +
legend
+
figcaption
+
figure
+
form
+
+ + +
  • li
  • +mark + +
      ol
    +
    pre
    + +

    p

    +small +s +strong +sub +sup +
    caption
    +
    table
    +
    td
    + + +u + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017.html new file mode 100644 index 00000000000..990b3787e08 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-017.html @@ -0,0 +1,44 @@ + + +CSS Test (Selectors): By default initial programatic focus matches :focus-visible and it shows an auto focus ring + + + + + + + + +

    This test checks that by default, if using JavaScript to focus an element triggers :focus-visible matching, then the element should show a focus ring with outline-style: auto.

    +
      +
    1. If the element below that says "Target" show a focus ring with outline-style: auto, then the test result is SUCCESS.
    2. +
    +

    Your user-agent does not support :focus-visible pseudo-class, please SKIP this test.

    +
    Target
    + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-020.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-020.html new file mode 100644 index 00000000000..d8c1ecdbc17 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-020.html @@ -0,0 +1,62 @@ + + +CSS Test (Selectors): :focus-visible doesn't match on ShadowRoot + + + + + + + +

    This test checks that :focus-visible doesn't math on ShadowRoot.

    +
      +
    1. The input should be focused on load, if it's not focused, focus it via mouse or keyboard.
    2. +
    3. If you see no red the test result is SUCCESS.
    4. +
    +

    Your user-agent does not support :focus-visible pseudo-class, please SKIP this test.

    + +
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-script-focus-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-script-focus-001.html new file mode 100644 index 00000000000..1d6d767c3b9 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-visible-script-focus-001.html @@ -0,0 +1,54 @@ + + +CSS Test (Selectors): Script focus without any previous user interaction matches :focus-visible + + + + + + + +

    This test checks that a script focus when the user hasn't interacted with the page yet, always matches :focus-visible.

    +
      +
    1. If the element that says "Focused" has a red background then the test result is FAILURE, if it has a green outline then the test result is SUCCESS.
    2. +
    +

    Your user-agent does not support :focus-visible pseudo-class, please SKIP this test.

    + +
    Focused
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-009.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-009.html new file mode 100644 index 00000000000..a3450fe4262 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-009.html @@ -0,0 +1,158 @@ + + + + + Selectors Level 4: focus-within + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-display-none-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-display-none-001.html new file mode 100644 index 00000000000..6864ef4d7a1 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/focus-within-display-none-001.html @@ -0,0 +1,58 @@ + + +Selectors Level 4: focus-within + + + + + + +
    + +
    + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/hash-collision.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/hash-collision.html new file mode 100644 index 00000000000..875efafdacc --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/hash-collision.html @@ -0,0 +1,45 @@ + + + + Test string hash collision in bucketing + + + + + + + +
    Some text
    + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-child.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-child.html new file mode 100644 index 00000000000..22c90253fc1 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-child.html @@ -0,0 +1,52 @@ + + + + +CSS Selectors :last-child + + + + + + +
    +
    Whitespace nodes should be ignored.
    +
    + +
    +
    +
    There is a prior child element.
    +
    + +
    +
    A comment node should be ignored.
    + +
    + +
    +
    Non-whitespace text node should be ignored.
    + . +
    + +
    +
    The first child should not be matched.
    +
    +
    + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-of-type.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-of-type.html new file mode 100644 index 00000000000..f41a86d5b76 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/last-of-type.html @@ -0,0 +1,89 @@ + + + + +CSS Selectors :last-of-type + + + + + + +
    +
    Whitespace nodes should be ignored.
    +
    + +
    +
    +
    Thre is another child element of the same type.
    +
    + +
    +
    There is a posterior child element of another type.
    +
    +
    + +
    +
    +
    A next element of the parent should not affect.
    +
    +
    +
    + +
    +
    +
    The parent element of the same type should not affect.
    +
    +
    + +
    +
    A child of the next element should not affect.
    +
    +
    +
    +
    + +
    +
    The first child element of the same +type should not match.
    +
    +
    + +
    +
    The first child element of the same +type should not match, the last child has a case-different tag name.
    +
    +
    + +
    +
    +
    + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/missing-right-token.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/missing-right-token.html new file mode 100644 index 00000000000..3627ecfbd85 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/missing-right-token.html @@ -0,0 +1,31 @@ + + + + + Selectors: attribute selectors with missing right token + + + + + + + + + + +
    + + +
    + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-complex.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-complex.html new file mode 100644 index 00000000000..d49590959e5 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-complex.html @@ -0,0 +1,46 @@ + +Matching behavior for :not with complex selector list + + + + +
    +
    +
    +
    +
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-specificity.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-specificity.html new file mode 100644 index 00000000000..bd075c63634 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/not-specificity.html @@ -0,0 +1,50 @@ + +Specificity for complex :not selectors + + + + +
    +
    +
    + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-last-child-invalid.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-last-child-invalid.html new file mode 100644 index 00000000000..6c6fe0df746 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-last-child-invalid.html @@ -0,0 +1,24 @@ + + + + CSS Selectors: :nth-last-child() with no argument + + + + + + + + +
    Test passes if this line is green.
    + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-of-type-namespace.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-of-type-namespace.html new file mode 100644 index 00000000000..bd900c4629d --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/nth-of-type-namespace.html @@ -0,0 +1,48 @@ + +CSS Selectors Test: :*-of-type with namespace + + + + +
    + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-child.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-child.html new file mode 100644 index 00000000000..42a6017903b --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-child.html @@ -0,0 +1,61 @@ + + + + +CSS Selectors :only-child + + + + + + +
    +
    Whitespace nodes should be ignored.
    +
    + +
    +
    A comment node should be ignored.
    + +
    + +
    +
    Non-whitespace text node should be ignored.
    + . +
    + +
    +
    +
    There is another child element.
    +
    + +
    +
    +
    + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-of-type.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-of-type.html new file mode 100644 index 00000000000..58d7fbb03b4 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/only-of-type.html @@ -0,0 +1,64 @@ + + + + +CSS Selectors :only-of-type + + + + + + +
    +
    Whitespace nodes should be ignored.
    +
    + +
    +
    A comment node should be ignored.
    + +
    + +
    +
    Non-whitespace text node should be ignored.
    + . +
    + +
    +
    +
    There is another child element of a different type.
    +
    + +
    +
    +
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/placeholder-shown.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/placeholder-shown.html new file mode 100644 index 00000000000..b75ae484942 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/placeholder-shown.html @@ -0,0 +1,41 @@ + +CSS Selectors Test: :placeholder-shown matching + + + + +Should be green +Should be green +Should be green +Should be green +Should be green +Should be green +Should be green + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/pseudo-enabled-disabled.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/pseudo-enabled-disabled.html new file mode 100644 index 00000000000..62cd5bb5b94 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/pseudo-enabled-disabled.html @@ -0,0 +1,51 @@ + + + + + +
    + + + + + + + + + +
    + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/scope-selector.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/scope-selector.html new file mode 100644 index 00000000000..ccbeb7bc2cb --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/scope-selector.html @@ -0,0 +1,37 @@ + + + + + +
    + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.html new file mode 100644 index 00000000000..52f849a8ef1 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/selector-placeholder-shown-emptify-placeholder.html @@ -0,0 +1,22 @@ + +When non-empty placeholder becomes empty, :placeholder-shown test + + + + + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/selectors-case-sensitive-001.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/selectors-case-sensitive-001.html new file mode 100644 index 00000000000..2670018f577 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/selectors-case-sensitive-001.html @@ -0,0 +1,40 @@ + +Test element names are case-insensitive only in ASCII range + + + + + + +

    You should see a green square below.

    +
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/webkit-pseudo-element.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/webkit-pseudo-element.html new file mode 100644 index 00000000000..a1e72de1784 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/webkit-pseudo-element.html @@ -0,0 +1,48 @@ + +WebKit-prefixed pseudo-elements + + + + + + + + +
    + + diff --git a/Tests/LibWeb/Text/input/wpt-import/css/selectors/x-pseudo-element.html b/Tests/LibWeb/Text/input/wpt-import/css/selectors/x-pseudo-element.html new file mode 100644 index 00000000000..dbf4eedf6b2 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/selectors/x-pseudo-element.html @@ -0,0 +1,22 @@ + +CSS Test: 'x-' prefixed pseudo-elements don't parse correctly + + + + + + +

    Should be green +