|
@@ -0,0 +1,1986 @@
|
|
|
+Summary
|
|
|
+
|
|
|
+Harness status: OK
|
|
|
+
|
|
|
+Rerun
|
|
|
+
|
|
|
+Found 1975 tests
|
|
|
+
|
|
|
+1903 Pass
|
|
|
+72 Fail
|
|
|
+Details
|
|
|
+Result Test Name MessagePass Selectors-API Test Suite: HTML
|
|
|
+Pass Document supports querySelector
|
|
|
+Pass Document supports querySelectorAll
|
|
|
+Pass Document.querySelectorAll returns NodeList instance
|
|
|
+Pass Detached Element supports querySelector
|
|
|
+Pass Detached Element supports querySelectorAll
|
|
|
+Pass Detached Element.querySelectorAll returns NodeList instance
|
|
|
+Pass Fragment supports querySelector
|
|
|
+Pass Fragment supports querySelectorAll
|
|
|
+Pass Fragment.querySelectorAll returns NodeList instance
|
|
|
+Pass In-document Element supports querySelector
|
|
|
+Pass In-document Element supports querySelectorAll
|
|
|
+Pass In-document Element.querySelectorAll returns NodeList instance
|
|
|
+Pass Document.querySelectorAll null
|
|
|
+Pass Document.querySelectorAll undefined
|
|
|
+Pass Document.querySelectorAll no parameter
|
|
|
+Pass Document.querySelector null
|
|
|
+Pass Document.querySelector undefined
|
|
|
+Pass Document.querySelector no parameter
|
|
|
+Pass Document.querySelectorAll tree order
|
|
|
+Pass Detached Element.querySelectorAll null
|
|
|
+Pass Detached Element.querySelectorAll undefined
|
|
|
+Pass Detached Element.querySelectorAll no parameter
|
|
|
+Pass Detached Element.querySelector null
|
|
|
+Pass Detached Element.querySelector undefined
|
|
|
+Pass Detached Element.querySelector no parameter
|
|
|
+Pass Detached Element.querySelectorAll tree order
|
|
|
+Pass Fragment.querySelectorAll null
|
|
|
+Pass Fragment.querySelectorAll undefined
|
|
|
+Pass Fragment.querySelectorAll no parameter
|
|
|
+Pass Fragment.querySelector null
|
|
|
+Pass Fragment.querySelector undefined
|
|
|
+Pass Fragment.querySelector no parameter
|
|
|
+Pass Fragment.querySelectorAll tree order
|
|
|
+Pass In-document Element.querySelectorAll null
|
|
|
+Pass In-document Element.querySelectorAll undefined
|
|
|
+Pass In-document Element.querySelectorAll no parameter
|
|
|
+Pass In-document Element.querySelector null
|
|
|
+Pass In-document Element.querySelector undefined
|
|
|
+Pass In-document Element.querySelector no parameter
|
|
|
+Pass In-document Element.querySelectorAll tree order
|
|
|
+Pass Document: static NodeList
|
|
|
+Pass Document: new NodeList
|
|
|
+Pass Detached Element: static NodeList
|
|
|
+Pass Detached Element: new NodeList
|
|
|
+Pass Fragment: static NodeList
|
|
|
+Pass Fragment: new NodeList
|
|
|
+Pass In-document Element: static NodeList
|
|
|
+Pass In-document Element: new NodeList
|
|
|
+Pass Document.querySelector: Empty String:
|
|
|
+Pass Document.querySelectorAll: Empty String:
|
|
|
+Pass Document.querySelector: Invalid character: [
|
|
|
+Pass Document.querySelectorAll: Invalid character: [
|
|
|
+Pass Document.querySelector: Invalid character: ]
|
|
|
+Pass Document.querySelectorAll: Invalid character: ]
|
|
|
+Pass Document.querySelector: Invalid character: (
|
|
|
+Pass Document.querySelectorAll: Invalid character: (
|
|
|
+Pass Document.querySelector: Invalid character: )
|
|
|
+Pass Document.querySelectorAll: Invalid character: )
|
|
|
+Pass Document.querySelector: Invalid character: {
|
|
|
+Pass Document.querySelectorAll: Invalid character: {
|
|
|
+Pass Document.querySelector: Invalid character: }
|
|
|
+Pass Document.querySelectorAll: Invalid character: }
|
|
|
+Pass Document.querySelector: Invalid character: <
|
|
|
+Pass Document.querySelectorAll: Invalid character: <
|
|
|
+Pass Document.querySelector: Invalid character: >
|
|
|
+Pass Document.querySelectorAll: Invalid character: >
|
|
|
+Pass Document.querySelector: Invalid ID: #
|
|
|
+Pass Document.querySelectorAll: Invalid ID: #
|
|
|
+Pass Document.querySelector: Invalid group of selectors: div,
|
|
|
+Pass Document.querySelectorAll: Invalid group of selectors: div,
|
|
|
+Pass Document.querySelector: Invalid class: .
|
|
|
+Pass Document.querySelectorAll: Invalid class: .
|
|
|
+Pass Document.querySelector: Invalid class: .5cm
|
|
|
+Pass Document.querySelectorAll: Invalid class: .5cm
|
|
|
+Pass Document.querySelector: Invalid class: ..test
|
|
|
+Pass Document.querySelectorAll: Invalid class: ..test
|
|
|
+Pass Document.querySelector: Invalid class: .foo..quux
|
|
|
+Pass Document.querySelectorAll: Invalid class: .foo..quux
|
|
|
+Pass Document.querySelector: Invalid class: .bar.
|
|
|
+Pass Document.querySelectorAll: Invalid class: .bar.
|
|
|
+Pass Document.querySelector: Invalid combinator: div % address, p
|
|
|
+Pass Document.querySelectorAll: Invalid combinator: div % address, p
|
|
|
+Fail Document.querySelector: Invalid combinator: div ++ address, p
|
|
|
+Fail Document.querySelectorAll: Invalid combinator: div ++ address, p
|
|
|
+Fail Document.querySelector: Invalid combinator: div ~~ address, p
|
|
|
+Fail Document.querySelectorAll: Invalid combinator: div ~~ address, p
|
|
|
+Pass Document.querySelector: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Document.querySelectorAll: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Document.querySelector: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Document.querySelectorAll: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Document.querySelector: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Document.querySelectorAll: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Document.querySelector: Unknown pseudo-class: div:example
|
|
|
+Pass Document.querySelectorAll: Unknown pseudo-class: div:example
|
|
|
+Pass Document.querySelector: Unknown pseudo-class: :example
|
|
|
+Pass Document.querySelectorAll: Unknown pseudo-class: :example
|
|
|
+Pass Document.querySelector: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Document.querySelectorAll: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Document.querySelector: Unknown pseudo-element: div::example
|
|
|
+Pass Document.querySelectorAll: Unknown pseudo-element: div::example
|
|
|
+Pass Document.querySelector: Unknown pseudo-element: ::example
|
|
|
+Pass Document.querySelectorAll: Unknown pseudo-element: ::example
|
|
|
+Pass Document.querySelector: Invalid pseudo-element: :::before
|
|
|
+Pass Document.querySelectorAll: Invalid pseudo-element: :::before
|
|
|
+Pass Document.querySelector: Invalid pseudo-element: :: before
|
|
|
+Pass Document.querySelectorAll: Invalid pseudo-element: :: before
|
|
|
+Fail Document.querySelector: Undeclared namespace: ns|div
|
|
|
+Fail Document.querySelectorAll: Undeclared namespace: ns|div
|
|
|
+Fail Document.querySelector: Undeclared namespace: :not(ns|div)
|
|
|
+Fail Document.querySelectorAll: Undeclared namespace: :not(ns|div)
|
|
|
+Pass Document.querySelector: Invalid namespace: ^|div
|
|
|
+Pass Document.querySelectorAll: Invalid namespace: ^|div
|
|
|
+Pass Document.querySelector: Invalid namespace: $|div
|
|
|
+Pass Document.querySelectorAll: Invalid namespace: $|div
|
|
|
+Pass Document.querySelector: Relative selector: >*
|
|
|
+Pass Document.querySelectorAll: Relative selector: >*
|
|
|
+Pass Detached Element.querySelector: Empty String:
|
|
|
+Pass Detached Element.querySelectorAll: Empty String:
|
|
|
+Pass Detached Element.querySelector: Invalid character: [
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: [
|
|
|
+Pass Detached Element.querySelector: Invalid character: ]
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: ]
|
|
|
+Pass Detached Element.querySelector: Invalid character: (
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: (
|
|
|
+Pass Detached Element.querySelector: Invalid character: )
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: )
|
|
|
+Pass Detached Element.querySelector: Invalid character: {
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: {
|
|
|
+Pass Detached Element.querySelector: Invalid character: }
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: }
|
|
|
+Pass Detached Element.querySelector: Invalid character: <
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: <
|
|
|
+Pass Detached Element.querySelector: Invalid character: >
|
|
|
+Pass Detached Element.querySelectorAll: Invalid character: >
|
|
|
+Pass Detached Element.querySelector: Invalid ID: #
|
|
|
+Pass Detached Element.querySelectorAll: Invalid ID: #
|
|
|
+Pass Detached Element.querySelector: Invalid group of selectors: div,
|
|
|
+Pass Detached Element.querySelectorAll: Invalid group of selectors: div,
|
|
|
+Pass Detached Element.querySelector: Invalid class: .
|
|
|
+Pass Detached Element.querySelectorAll: Invalid class: .
|
|
|
+Pass Detached Element.querySelector: Invalid class: .5cm
|
|
|
+Pass Detached Element.querySelectorAll: Invalid class: .5cm
|
|
|
+Pass Detached Element.querySelector: Invalid class: ..test
|
|
|
+Pass Detached Element.querySelectorAll: Invalid class: ..test
|
|
|
+Pass Detached Element.querySelector: Invalid class: .foo..quux
|
|
|
+Pass Detached Element.querySelectorAll: Invalid class: .foo..quux
|
|
|
+Pass Detached Element.querySelector: Invalid class: .bar.
|
|
|
+Pass Detached Element.querySelectorAll: Invalid class: .bar.
|
|
|
+Pass Detached Element.querySelector: Invalid combinator: div % address, p
|
|
|
+Pass Detached Element.querySelectorAll: Invalid combinator: div % address, p
|
|
|
+Fail Detached Element.querySelector: Invalid combinator: div ++ address, p
|
|
|
+Fail Detached Element.querySelectorAll: Invalid combinator: div ++ address, p
|
|
|
+Fail Detached Element.querySelector: Invalid combinator: div ~~ address, p
|
|
|
+Fail Detached Element.querySelectorAll: Invalid combinator: div ~~ address, p
|
|
|
+Pass Detached Element.querySelector: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Detached Element.querySelectorAll: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Detached Element.querySelector: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Detached Element.querySelectorAll: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Detached Element.querySelector: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Detached Element.querySelectorAll: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Detached Element.querySelector: Unknown pseudo-class: div:example
|
|
|
+Pass Detached Element.querySelectorAll: Unknown pseudo-class: div:example
|
|
|
+Pass Detached Element.querySelector: Unknown pseudo-class: :example
|
|
|
+Pass Detached Element.querySelectorAll: Unknown pseudo-class: :example
|
|
|
+Pass Detached Element.querySelector: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Detached Element.querySelectorAll: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Detached Element.querySelector: Unknown pseudo-element: div::example
|
|
|
+Pass Detached Element.querySelectorAll: Unknown pseudo-element: div::example
|
|
|
+Pass Detached Element.querySelector: Unknown pseudo-element: ::example
|
|
|
+Pass Detached Element.querySelectorAll: Unknown pseudo-element: ::example
|
|
|
+Pass Detached Element.querySelector: Invalid pseudo-element: :::before
|
|
|
+Pass Detached Element.querySelectorAll: Invalid pseudo-element: :::before
|
|
|
+Pass Detached Element.querySelector: Invalid pseudo-element: :: before
|
|
|
+Pass Detached Element.querySelectorAll: Invalid pseudo-element: :: before
|
|
|
+Fail Detached Element.querySelector: Undeclared namespace: ns|div
|
|
|
+Fail Detached Element.querySelectorAll: Undeclared namespace: ns|div
|
|
|
+Fail Detached Element.querySelector: Undeclared namespace: :not(ns|div)
|
|
|
+Fail Detached Element.querySelectorAll: Undeclared namespace: :not(ns|div)
|
|
|
+Pass Detached Element.querySelector: Invalid namespace: ^|div
|
|
|
+Pass Detached Element.querySelectorAll: Invalid namespace: ^|div
|
|
|
+Pass Detached Element.querySelector: Invalid namespace: $|div
|
|
|
+Pass Detached Element.querySelectorAll: Invalid namespace: $|div
|
|
|
+Pass Detached Element.querySelector: Relative selector: >*
|
|
|
+Pass Detached Element.querySelectorAll: Relative selector: >*
|
|
|
+Pass Fragment.querySelector: Empty String:
|
|
|
+Pass Fragment.querySelectorAll: Empty String:
|
|
|
+Pass Fragment.querySelector: Invalid character: [
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: [
|
|
|
+Pass Fragment.querySelector: Invalid character: ]
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: ]
|
|
|
+Pass Fragment.querySelector: Invalid character: (
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: (
|
|
|
+Pass Fragment.querySelector: Invalid character: )
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: )
|
|
|
+Pass Fragment.querySelector: Invalid character: {
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: {
|
|
|
+Pass Fragment.querySelector: Invalid character: }
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: }
|
|
|
+Pass Fragment.querySelector: Invalid character: <
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: <
|
|
|
+Pass Fragment.querySelector: Invalid character: >
|
|
|
+Pass Fragment.querySelectorAll: Invalid character: >
|
|
|
+Pass Fragment.querySelector: Invalid ID: #
|
|
|
+Pass Fragment.querySelectorAll: Invalid ID: #
|
|
|
+Pass Fragment.querySelector: Invalid group of selectors: div,
|
|
|
+Pass Fragment.querySelectorAll: Invalid group of selectors: div,
|
|
|
+Pass Fragment.querySelector: Invalid class: .
|
|
|
+Pass Fragment.querySelectorAll: Invalid class: .
|
|
|
+Pass Fragment.querySelector: Invalid class: .5cm
|
|
|
+Pass Fragment.querySelectorAll: Invalid class: .5cm
|
|
|
+Pass Fragment.querySelector: Invalid class: ..test
|
|
|
+Pass Fragment.querySelectorAll: Invalid class: ..test
|
|
|
+Pass Fragment.querySelector: Invalid class: .foo..quux
|
|
|
+Pass Fragment.querySelectorAll: Invalid class: .foo..quux
|
|
|
+Pass Fragment.querySelector: Invalid class: .bar.
|
|
|
+Pass Fragment.querySelectorAll: Invalid class: .bar.
|
|
|
+Pass Fragment.querySelector: Invalid combinator: div % address, p
|
|
|
+Pass Fragment.querySelectorAll: Invalid combinator: div % address, p
|
|
|
+Fail Fragment.querySelector: Invalid combinator: div ++ address, p
|
|
|
+Fail Fragment.querySelectorAll: Invalid combinator: div ++ address, p
|
|
|
+Fail Fragment.querySelector: Invalid combinator: div ~~ address, p
|
|
|
+Fail Fragment.querySelectorAll: Invalid combinator: div ~~ address, p
|
|
|
+Pass Fragment.querySelector: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Fragment.querySelectorAll: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Fragment.querySelector: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Fragment.querySelectorAll: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Fragment.querySelector: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Fragment.querySelectorAll: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Fragment.querySelector: Unknown pseudo-class: div:example
|
|
|
+Pass Fragment.querySelectorAll: Unknown pseudo-class: div:example
|
|
|
+Pass Fragment.querySelector: Unknown pseudo-class: :example
|
|
|
+Pass Fragment.querySelectorAll: Unknown pseudo-class: :example
|
|
|
+Pass Fragment.querySelector: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Fragment.querySelectorAll: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Fragment.querySelector: Unknown pseudo-element: div::example
|
|
|
+Pass Fragment.querySelectorAll: Unknown pseudo-element: div::example
|
|
|
+Pass Fragment.querySelector: Unknown pseudo-element: ::example
|
|
|
+Pass Fragment.querySelectorAll: Unknown pseudo-element: ::example
|
|
|
+Pass Fragment.querySelector: Invalid pseudo-element: :::before
|
|
|
+Pass Fragment.querySelectorAll: Invalid pseudo-element: :::before
|
|
|
+Pass Fragment.querySelector: Invalid pseudo-element: :: before
|
|
|
+Pass Fragment.querySelectorAll: Invalid pseudo-element: :: before
|
|
|
+Fail Fragment.querySelector: Undeclared namespace: ns|div
|
|
|
+Fail Fragment.querySelectorAll: Undeclared namespace: ns|div
|
|
|
+Fail Fragment.querySelector: Undeclared namespace: :not(ns|div)
|
|
|
+Fail Fragment.querySelectorAll: Undeclared namespace: :not(ns|div)
|
|
|
+Pass Fragment.querySelector: Invalid namespace: ^|div
|
|
|
+Pass Fragment.querySelectorAll: Invalid namespace: ^|div
|
|
|
+Pass Fragment.querySelector: Invalid namespace: $|div
|
|
|
+Pass Fragment.querySelectorAll: Invalid namespace: $|div
|
|
|
+Pass Fragment.querySelector: Relative selector: >*
|
|
|
+Pass Fragment.querySelectorAll: Relative selector: >*
|
|
|
+Pass In-document Element.querySelector: Empty String:
|
|
|
+Pass In-document Element.querySelectorAll: Empty String:
|
|
|
+Pass In-document Element.querySelector: Invalid character: [
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: [
|
|
|
+Pass In-document Element.querySelector: Invalid character: ]
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: ]
|
|
|
+Pass In-document Element.querySelector: Invalid character: (
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: (
|
|
|
+Pass In-document Element.querySelector: Invalid character: )
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: )
|
|
|
+Pass In-document Element.querySelector: Invalid character: {
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: {
|
|
|
+Pass In-document Element.querySelector: Invalid character: }
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: }
|
|
|
+Pass In-document Element.querySelector: Invalid character: <
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: <
|
|
|
+Pass In-document Element.querySelector: Invalid character: >
|
|
|
+Pass In-document Element.querySelectorAll: Invalid character: >
|
|
|
+Pass In-document Element.querySelector: Invalid ID: #
|
|
|
+Pass In-document Element.querySelectorAll: Invalid ID: #
|
|
|
+Pass In-document Element.querySelector: Invalid group of selectors: div,
|
|
|
+Pass In-document Element.querySelectorAll: Invalid group of selectors: div,
|
|
|
+Pass In-document Element.querySelector: Invalid class: .
|
|
|
+Pass In-document Element.querySelectorAll: Invalid class: .
|
|
|
+Pass In-document Element.querySelector: Invalid class: .5cm
|
|
|
+Pass In-document Element.querySelectorAll: Invalid class: .5cm
|
|
|
+Pass In-document Element.querySelector: Invalid class: ..test
|
|
|
+Pass In-document Element.querySelectorAll: Invalid class: ..test
|
|
|
+Pass In-document Element.querySelector: Invalid class: .foo..quux
|
|
|
+Pass In-document Element.querySelectorAll: Invalid class: .foo..quux
|
|
|
+Pass In-document Element.querySelector: Invalid class: .bar.
|
|
|
+Pass In-document Element.querySelectorAll: Invalid class: .bar.
|
|
|
+Pass In-document Element.querySelector: Invalid combinator: div % address, p
|
|
|
+Pass In-document Element.querySelectorAll: Invalid combinator: div % address, p
|
|
|
+Fail In-document Element.querySelector: Invalid combinator: div ++ address, p
|
|
|
+Fail In-document Element.querySelectorAll: Invalid combinator: div ++ address, p
|
|
|
+Fail In-document Element.querySelector: Invalid combinator: div ~~ address, p
|
|
|
+Fail In-document Element.querySelectorAll: Invalid combinator: div ~~ address, p
|
|
|
+Pass In-document Element.querySelector: Invalid [att=value] selector: [*=test]
|
|
|
+Pass In-document Element.querySelectorAll: Invalid [att=value] selector: [*=test]
|
|
|
+Pass In-document Element.querySelector: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass In-document Element.querySelectorAll: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass In-document Element.querySelector: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass In-document Element.querySelectorAll: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass In-document Element.querySelector: Unknown pseudo-class: div:example
|
|
|
+Pass In-document Element.querySelectorAll: Unknown pseudo-class: div:example
|
|
|
+Pass In-document Element.querySelector: Unknown pseudo-class: :example
|
|
|
+Pass In-document Element.querySelectorAll: Unknown pseudo-class: :example
|
|
|
+Pass In-document Element.querySelector: Unknown pseudo-class: div:linkexample
|
|
|
+Pass In-document Element.querySelectorAll: Unknown pseudo-class: div:linkexample
|
|
|
+Pass In-document Element.querySelector: Unknown pseudo-element: div::example
|
|
|
+Pass In-document Element.querySelectorAll: Unknown pseudo-element: div::example
|
|
|
+Pass In-document Element.querySelector: Unknown pseudo-element: ::example
|
|
|
+Pass In-document Element.querySelectorAll: Unknown pseudo-element: ::example
|
|
|
+Pass In-document Element.querySelector: Invalid pseudo-element: :::before
|
|
|
+Pass In-document Element.querySelectorAll: Invalid pseudo-element: :::before
|
|
|
+Pass In-document Element.querySelector: Invalid pseudo-element: :: before
|
|
|
+Pass In-document Element.querySelectorAll: Invalid pseudo-element: :: before
|
|
|
+Fail In-document Element.querySelector: Undeclared namespace: ns|div
|
|
|
+Fail In-document Element.querySelectorAll: Undeclared namespace: ns|div
|
|
|
+Fail In-document Element.querySelector: Undeclared namespace: :not(ns|div)
|
|
|
+Fail In-document Element.querySelectorAll: Undeclared namespace: :not(ns|div)
|
|
|
+Pass In-document Element.querySelector: Invalid namespace: ^|div
|
|
|
+Pass In-document Element.querySelectorAll: Invalid namespace: ^|div
|
|
|
+Pass In-document Element.querySelector: Invalid namespace: $|div
|
|
|
+Pass In-document Element.querySelectorAll: Invalid namespace: $|div
|
|
|
+Pass In-document Element.querySelector: Relative selector: >*
|
|
|
+Pass In-document Element.querySelectorAll: Relative selector: >*
|
|
|
+Pass Empty Element.querySelector: Empty String:
|
|
|
+Pass Empty Element.querySelectorAll: Empty String:
|
|
|
+Pass Empty Element.querySelector: Invalid character: [
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: [
|
|
|
+Pass Empty Element.querySelector: Invalid character: ]
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: ]
|
|
|
+Pass Empty Element.querySelector: Invalid character: (
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: (
|
|
|
+Pass Empty Element.querySelector: Invalid character: )
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: )
|
|
|
+Pass Empty Element.querySelector: Invalid character: {
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: {
|
|
|
+Pass Empty Element.querySelector: Invalid character: }
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: }
|
|
|
+Pass Empty Element.querySelector: Invalid character: <
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: <
|
|
|
+Pass Empty Element.querySelector: Invalid character: >
|
|
|
+Pass Empty Element.querySelectorAll: Invalid character: >
|
|
|
+Pass Empty Element.querySelector: Invalid ID: #
|
|
|
+Pass Empty Element.querySelectorAll: Invalid ID: #
|
|
|
+Pass Empty Element.querySelector: Invalid group of selectors: div,
|
|
|
+Pass Empty Element.querySelectorAll: Invalid group of selectors: div,
|
|
|
+Pass Empty Element.querySelector: Invalid class: .
|
|
|
+Pass Empty Element.querySelectorAll: Invalid class: .
|
|
|
+Pass Empty Element.querySelector: Invalid class: .5cm
|
|
|
+Pass Empty Element.querySelectorAll: Invalid class: .5cm
|
|
|
+Pass Empty Element.querySelector: Invalid class: ..test
|
|
|
+Pass Empty Element.querySelectorAll: Invalid class: ..test
|
|
|
+Pass Empty Element.querySelector: Invalid class: .foo..quux
|
|
|
+Pass Empty Element.querySelectorAll: Invalid class: .foo..quux
|
|
|
+Pass Empty Element.querySelector: Invalid class: .bar.
|
|
|
+Pass Empty Element.querySelectorAll: Invalid class: .bar.
|
|
|
+Pass Empty Element.querySelector: Invalid combinator: div % address, p
|
|
|
+Pass Empty Element.querySelectorAll: Invalid combinator: div % address, p
|
|
|
+Fail Empty Element.querySelector: Invalid combinator: div ++ address, p
|
|
|
+Fail Empty Element.querySelectorAll: Invalid combinator: div ++ address, p
|
|
|
+Fail Empty Element.querySelector: Invalid combinator: div ~~ address, p
|
|
|
+Fail Empty Element.querySelectorAll: Invalid combinator: div ~~ address, p
|
|
|
+Pass Empty Element.querySelector: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Empty Element.querySelectorAll: Invalid [att=value] selector: [*=test]
|
|
|
+Pass Empty Element.querySelector: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Empty Element.querySelectorAll: Invalid [att=value] selector: [*|*=test]
|
|
|
+Pass Empty Element.querySelector: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Empty Element.querySelectorAll: Invalid [att=value] selector: [class= space unquoted ]
|
|
|
+Pass Empty Element.querySelector: Unknown pseudo-class: div:example
|
|
|
+Pass Empty Element.querySelectorAll: Unknown pseudo-class: div:example
|
|
|
+Pass Empty Element.querySelector: Unknown pseudo-class: :example
|
|
|
+Pass Empty Element.querySelectorAll: Unknown pseudo-class: :example
|
|
|
+Pass Empty Element.querySelector: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Empty Element.querySelectorAll: Unknown pseudo-class: div:linkexample
|
|
|
+Pass Empty Element.querySelector: Unknown pseudo-element: div::example
|
|
|
+Pass Empty Element.querySelectorAll: Unknown pseudo-element: div::example
|
|
|
+Pass Empty Element.querySelector: Unknown pseudo-element: ::example
|
|
|
+Pass Empty Element.querySelectorAll: Unknown pseudo-element: ::example
|
|
|
+Pass Empty Element.querySelector: Invalid pseudo-element: :::before
|
|
|
+Pass Empty Element.querySelectorAll: Invalid pseudo-element: :::before
|
|
|
+Pass Empty Element.querySelector: Invalid pseudo-element: :: before
|
|
|
+Pass Empty Element.querySelectorAll: Invalid pseudo-element: :: before
|
|
|
+Fail Empty Element.querySelector: Undeclared namespace: ns|div
|
|
|
+Fail Empty Element.querySelectorAll: Undeclared namespace: ns|div
|
|
|
+Fail Empty Element.querySelector: Undeclared namespace: :not(ns|div)
|
|
|
+Fail Empty Element.querySelectorAll: Undeclared namespace: :not(ns|div)
|
|
|
+Pass Empty Element.querySelector: Invalid namespace: ^|div
|
|
|
+Pass Empty Element.querySelectorAll: Invalid namespace: ^|div
|
|
|
+Pass Empty Element.querySelector: Invalid namespace: $|div
|
|
|
+Pass Empty Element.querySelectorAll: Invalid namespace: $|div
|
|
|
+Pass Empty Element.querySelector: Relative selector: >*
|
|
|
+Pass Empty Element.querySelectorAll: Relative selector: >*
|
|
|
+Pass Document.querySelectorAll: Type selector, matching html element: html
|
|
|
+Pass Document.querySelector: Type selector, matching html element: html
|
|
|
+Pass Document.querySelectorAll: Type selector, matching body element: body
|
|
|
+Pass Document.querySelector: Type selector, matching body element: body
|
|
|
+Pass Document.querySelectorAll: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Document.querySelector: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Document.querySelectorAll: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Document.querySelector: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Document.querySelectorAll: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Document.querySelector: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Document.querySelectorAll: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Document.querySelector: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Fail Document.querySelectorAll: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Fail Document.querySelector: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Document.querySelector: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Document.querySelector: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Document.querySelectorAll: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Document.querySelector: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Document.querySelector: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Document.querySelector: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Document.querySelector: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Document.querySelector: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Document.querySelector: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Document.querySelector: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Document.querySelector: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Document.querySelector: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Document.querySelectorAll: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Document.querySelector: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Document.querySelectorAll: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Document.querySelector: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Document.querySelectorAll: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Document.querySelector: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Document.querySelectorAll: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Document.querySelector: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Document.querySelectorAll: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Document.querySelector: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Document.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Document.querySelector: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Document.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Document.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Document.querySelectorAll: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Document.querySelector: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Document.querySelector: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Document.querySelector: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Document.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Document.querySelector: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Document.querySelector: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Document.querySelector: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Document.querySelectorAll: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Document.querySelector: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Document.querySelector: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Document.querySelector: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Document.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Document.querySelector: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Document.querySelector: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Document.querySelector: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Document.querySelectorAll: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Document.querySelector: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Document.querySelector: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Document.querySelector: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Document.querySelector: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Document.querySelector: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Document.querySelector: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Document.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Document.querySelector: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Document.querySelector: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Document.querySelector: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Document.querySelector: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Document.querySelector: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Document.querySelector: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Document.querySelector: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Document.querySelector: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Document.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Document.querySelector: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Document.querySelectorAll: :root pseudo-class selector, matching document root element: :root
|
|
|
+Pass Document.querySelector: :root pseudo-class selector, matching document root element: :root
|
|
|
+Pass Document.querySelectorAll: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Document.querySelector: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Document.querySelectorAll: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Document.querySelector: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Document.querySelectorAll: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Document.querySelector: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Document.querySelectorAll: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Document.querySelector: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Document.querySelectorAll: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Document.querySelector: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Document.querySelectorAll: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Document.querySelector: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Document.querySelectorAll: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Document.querySelector: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Document.querySelectorAll: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Document.querySelector: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Document.querySelectorAll: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Document.querySelector: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Document.querySelectorAll: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Document.querySelector: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Document.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Document.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Document.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Document.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Document.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Document.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Document.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Document.querySelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Document.querySelectorAll: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Document.querySelector: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Document.querySelectorAll: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Document.querySelector: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Document.querySelectorAll: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Document.querySelector: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Document.querySelectorAll: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Document.querySelector: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Document.querySelectorAll: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Document.querySelector: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Document.querySelectorAll: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Document.querySelector: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Document.querySelectorAll: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Document.querySelector: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Document.querySelectorAll: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Document.querySelector: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Document.querySelectorAll: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Document.querySelector: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Document.querySelectorAll: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Document.querySelector: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Document.querySelectorAll: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Document.querySelector: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Document.querySelectorAll: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Document.querySelector: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Document.querySelectorAll: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Document.querySelector: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Document.querySelectorAll: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Document.querySelector: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Document.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Document.querySelector: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Document.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Document.querySelector: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Document.querySelectorAll: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Document.querySelector: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Document.querySelectorAll: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Document.querySelector: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Document.querySelectorAll: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Document.querySelector: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Document.querySelectorAll: :link and :visited pseudo-class selectors, matching no elements: #head :link, #head :visited
|
|
|
+Pass Document.querySelector: :link and :visited pseudo-class selectors, matching no elements: #head :link, #head :visited
|
|
|
+Fail Document.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Fail Document.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass Document.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Document.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Document.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Document.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Document.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Document.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Document.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Document.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Document.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Document.querySelector: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Document.querySelectorAll: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Document.querySelector: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Document.querySelectorAll: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Document.querySelector: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Document.querySelectorAll: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Document.querySelector: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Document.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Document.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Document.querySelectorAll: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Document.querySelector: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Document.querySelectorAll: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Document.querySelector: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Document.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Document.querySelector: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Document.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Document.querySelector: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Document.querySelectorAll: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Document.querySelector: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Document.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Document.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Document.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Document.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Document.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Document.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Document.querySelectorAll: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Document.querySelector: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Document.querySelectorAll: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Document.querySelector: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Document.querySelectorAll: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Document.querySelector: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Document.querySelectorAll: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Document.querySelector: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Document.querySelectorAll: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Document.querySelector: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Document.querySelectorAll: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Document.querySelector: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Document.querySelectorAll: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Document.querySelector: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Document.querySelectorAll: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Document.querySelector: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Document.querySelectorAll: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Document.querySelector: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Document.querySelectorAll: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Document.querySelector: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Document.querySelectorAll: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Document.querySelector: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Document.querySelectorAll: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Document.querySelector: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Document.querySelectorAll: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Pass Document.querySelector: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Fail Document.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Document.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Document.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Document.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Document.querySelectorAll: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Document.querySelector: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Document.querySelectorAll: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Document.querySelector: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Document.querySelectorAll: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Document.querySelector: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Document.querySelectorAll: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Document.querySelector: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Document.querySelectorAll: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Document.querySelector: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Document.querySelectorAll: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Document.querySelector: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Document.querySelectorAll: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Document.querySelector: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Document.querySelectorAll: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Document.querySelector: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Document.querySelectorAll: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Document.querySelector: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Document.querySelectorAll: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Document.querySelector: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Document.querySelectorAll: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Document.querySelector: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Document.querySelectorAll: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Document.querySelector: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: body #descendant-div1
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element with id that is a descendant of an element: body #descendant-div1
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Document.querySelector: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Document.querySelector: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Document.querySelectorAll: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Document.querySelector: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Document.querySelector: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Document.querySelectorAll: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Document.querySelector: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Document.querySelectorAll: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Document.querySelector: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Document.querySelectorAll: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Document.querySelector: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Document.querySelector: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Document.querySelector: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Document.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Document.querySelector: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Document.querySelectorAll: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Document.querySelector: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Document.querySelectorAll: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Document.querySelector: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Document.querySelector: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Document.querySelector: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Document.querySelectorAll: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Document.querySelector: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Document.querySelectorAll: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Document.querySelector: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Document.querySelector: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Document.querySelector: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Document.querySelector: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Document.querySelector: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Document.querySelector: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Document.querySelector: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Document.querySelector: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Document.querySelector: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Document.querySelector: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Document.querySelector: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Document.querySelectorAll: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Document.querySelector: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Document.querySelectorAll: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Document.querySelector: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Document.querySelectorAll: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Document.querySelector: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Document.querySelectorAll: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Document.querySelector: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Document.querySelectorAll: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Pass Document.querySelector: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Fail Document.querySelectorAll: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Document.querySelector: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Document.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Fail Document.querySelector: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Pass Detached Element.querySelectorAll: Type selector, matching html element: html
|
|
|
+Pass Detached Element.querySelector: Type selector, matching html element: html
|
|
|
+Pass Detached Element.querySelectorAll: Type selector, matching body element: body
|
|
|
+Pass Detached Element.querySelector: Type selector, matching body element: body
|
|
|
+Pass Detached Element.querySelectorAll: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Detached Element.querySelector: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Detached Element.querySelectorAll: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Detached Element.querySelector: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Detached Element.querySelectorAll: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Detached Element.querySelector: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Detached Element.querySelectorAll: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Detached Element.querySelector: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Fail Detached Element.querySelectorAll: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Fail Detached Element.querySelector: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Detached Element.querySelector: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Detached Element.querySelector: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Detached Element.querySelector: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Detached Element.querySelector: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Detached Element.querySelector: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Detached Element.querySelector: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Detached Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Detached Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Detached Element.querySelector: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Detached Element.querySelector: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Detached Element.querySelector: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Detached Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Detached Element.querySelector: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Detached Element.querySelectorAll: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass Detached Element.querySelector: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass Detached Element.querySelectorAll: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Detached Element.querySelector: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Detached Element.querySelector: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Detached Element.querySelector: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Detached Element.querySelector: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Detached Element.querySelector: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Detached Element.querySelector: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Detached Element.querySelector: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Detached Element.querySelector: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Detached Element.querySelector: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Detached Element.querySelector: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Detached Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Detached Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Detached Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Detached Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Detached Element.querySelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Detached Element.querySelectorAll: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Detached Element.querySelector: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Detached Element.querySelector: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Detached Element.querySelector: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Detached Element.querySelector: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Detached Element.querySelector: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Detached Element.querySelector: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Detached Element.querySelector: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Detached Element.querySelectorAll: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Detached Element.querySelector: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Detached Element.querySelectorAll: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Detached Element.querySelector: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Detached Element.querySelectorAll: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Detached Element.querySelector: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Detached Element.querySelectorAll: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Detached Element.querySelector: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Detached Element.querySelectorAll: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Detached Element.querySelector: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Detached Element.querySelectorAll: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Detached Element.querySelector: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Detached Element.querySelectorAll: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Detached Element.querySelector: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Detached Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Detached Element.querySelector: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Detached Element.querySelector: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Detached Element.querySelectorAll: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Detached Element.querySelector: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Detached Element.querySelectorAll: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Detached Element.querySelector: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Detached Element.querySelectorAll: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Detached Element.querySelector: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Detached Element.querySelectorAll: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass Detached Element.querySelector: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass Detached Element.querySelectorAll: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Pass Detached Element.querySelector: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Pass Detached Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass Detached Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass Detached Element.querySelectorAll: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Detached Element.querySelector: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Detached Element.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Detached Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Detached Element.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Detached Element.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Detached Element.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Detached Element.querySelector: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Detached Element.querySelectorAll: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Detached Element.querySelector: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Detached Element.querySelectorAll: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Detached Element.querySelector: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Detached Element.querySelectorAll: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Detached Element.querySelector: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Detached Element.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Detached Element.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Detached Element.querySelectorAll: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Detached Element.querySelector: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Detached Element.querySelectorAll: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Detached Element.querySelector: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Detached Element.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Detached Element.querySelector: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Detached Element.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Detached Element.querySelector: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Detached Element.querySelectorAll: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Detached Element.querySelector: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Detached Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Detached Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Detached Element.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Detached Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Detached Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Detached Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Detached Element.querySelectorAll: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Detached Element.querySelector: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Detached Element.querySelectorAll: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Detached Element.querySelector: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Detached Element.querySelectorAll: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Detached Element.querySelector: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Detached Element.querySelectorAll: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Detached Element.querySelector: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Detached Element.querySelector: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Detached Element.querySelector: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Detached Element.querySelectorAll: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Detached Element.querySelector: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Detached Element.querySelector: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Detached Element.querySelector: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Detached Element.querySelector: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Detached Element.querySelector: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Detached Element.querySelectorAll: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Detached Element.querySelector: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Pass Detached Element.querySelector: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Fail Detached Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Detached Element.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Detached Element.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Detached Element.querySelectorAll: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Detached Element.querySelector: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Detached Element.querySelector: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Detached Element.querySelector: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Detached Element.querySelector: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Detached Element.querySelector: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Detached Element.querySelector: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Detached Element.querySelector: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Detached Element.querySelector: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Detached Element.querySelectorAll: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Detached Element.querySelector: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Detached Element.querySelectorAll: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Detached Element.querySelector: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Detached Element.querySelectorAll: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Detached Element.querySelector: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Detached Element.querySelectorAll: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Detached Element.querySelector: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Detached Element.querySelectorAll: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Detached Element.querySelector: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Detached Element.querySelector: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Detached Element.querySelector: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Detached Element.querySelector: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Detached Element.querySelector: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Detached Element.querySelector: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Detached Element.querySelector: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Detached Element.querySelector: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Detached Element.querySelectorAll: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Detached Element.querySelector: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Detached Element.querySelectorAll: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Detached Element.querySelector: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Detached Element.querySelectorAll: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Detached Element.querySelector: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Detached Element.querySelectorAll: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Detached Element.querySelector: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Detached Element.querySelectorAll: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Detached Element.querySelector: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Detached Element.querySelectorAll: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Pass Detached Element.querySelector: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Fail Detached Element.querySelectorAll: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Detached Element.querySelector: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Detached Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Fail Detached Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Pass Fragment.querySelectorAll: Type selector, matching html element: html
|
|
|
+Pass Fragment.querySelector: Type selector, matching html element: html
|
|
|
+Pass Fragment.querySelectorAll: Type selector, matching body element: body
|
|
|
+Pass Fragment.querySelector: Type selector, matching body element: body
|
|
|
+Pass Fragment.querySelectorAll: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Fragment.querySelector: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass Fragment.querySelectorAll: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Fragment.querySelector: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass Fragment.querySelectorAll: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Fragment.querySelector: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass Fragment.querySelectorAll: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Fragment.querySelector: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Fail Fragment.querySelectorAll: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Fail Fragment.querySelector: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass Fragment.querySelectorAll: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Fragment.querySelector: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Fragment.querySelector: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Fragment.querySelector: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Fragment.querySelector: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass Fragment.querySelectorAll: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Fragment.querySelector: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Fragment.querySelector: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass Fragment.querySelectorAll: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Fragment.querySelector: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Fragment.querySelector: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Fragment.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Fragment.querySelector: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Fragment.querySelector: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass Fragment.querySelectorAll: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Fragment.querySelector: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass Fragment.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Fragment.querySelector: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass Fragment.querySelectorAll: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass Fragment.querySelector: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass Fragment.querySelectorAll: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Fragment.querySelector: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass Fragment.querySelectorAll: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Fragment.querySelector: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass Fragment.querySelectorAll: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Fragment.querySelector: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass Fragment.querySelectorAll: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Fragment.querySelector: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Fragment.querySelector: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Fragment.querySelector: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Fragment.querySelector: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Fragment.querySelector: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass Fragment.querySelectorAll: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Fragment.querySelector: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass Fragment.querySelectorAll: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Fragment.querySelector: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass Fragment.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Fragment.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Fragment.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Fragment.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass Fragment.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Fragment.querySelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass Fragment.querySelectorAll: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Fragment.querySelector: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass Fragment.querySelectorAll: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Fragment.querySelector: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass Fragment.querySelectorAll: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Fragment.querySelector: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass Fragment.querySelectorAll: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Fragment.querySelector: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass Fragment.querySelectorAll: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Fragment.querySelector: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass Fragment.querySelectorAll: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Fragment.querySelector: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass Fragment.querySelectorAll: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Fragment.querySelector: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass Fragment.querySelectorAll: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Fragment.querySelector: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass Fragment.querySelectorAll: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Fragment.querySelector: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass Fragment.querySelectorAll: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Fragment.querySelector: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass Fragment.querySelectorAll: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Fragment.querySelector: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass Fragment.querySelectorAll: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Fragment.querySelector: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass Fragment.querySelectorAll: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Fragment.querySelector: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass Fragment.querySelectorAll: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Fragment.querySelector: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass Fragment.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Fragment.querySelector: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass Fragment.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Fragment.querySelector: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass Fragment.querySelectorAll: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Fragment.querySelector: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass Fragment.querySelectorAll: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Fragment.querySelector: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass Fragment.querySelectorAll: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Fragment.querySelector: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass Fragment.querySelectorAll: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass Fragment.querySelector: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass Fragment.querySelectorAll: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Pass Fragment.querySelector: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Pass Fragment.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass Fragment.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass Fragment.querySelectorAll: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Fragment.querySelector: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Fragment.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Fragment.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass Fragment.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Fragment.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass Fragment.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Fragment.querySelector: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass Fragment.querySelectorAll: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Fragment.querySelector: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass Fragment.querySelectorAll: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Fragment.querySelector: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass Fragment.querySelectorAll: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Fragment.querySelector: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass Fragment.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Fragment.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass Fragment.querySelectorAll: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Fragment.querySelector: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass Fragment.querySelectorAll: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Fragment.querySelector: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass Fragment.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Fragment.querySelector: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass Fragment.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Fragment.querySelector: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass Fragment.querySelectorAll: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Fragment.querySelector: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Fragment.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass Fragment.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Fragment.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass Fragment.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Fragment.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass Fragment.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass Fragment.querySelectorAll: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Fragment.querySelector: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass Fragment.querySelectorAll: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Fragment.querySelector: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass Fragment.querySelectorAll: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Fragment.querySelector: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass Fragment.querySelectorAll: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Fragment.querySelector: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass Fragment.querySelectorAll: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Fragment.querySelector: Class selector, matching element with specified class: .class-p
|
|
|
+Pass Fragment.querySelectorAll: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Fragment.querySelector: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass Fragment.querySelectorAll: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Fragment.querySelector: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass Fragment.querySelectorAll: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Fragment.querySelector: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass Fragment.querySelectorAll: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Fragment.querySelector: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass Fragment.querySelectorAll: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Fragment.querySelector: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass Fragment.querySelectorAll: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Fragment.querySelector: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass Fragment.querySelectorAll: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Fragment.querySelector: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Pass Fragment.querySelector: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Fail Fragment.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Fragment.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass Fragment.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Fragment.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass Fragment.querySelectorAll: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Fragment.querySelector: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass Fragment.querySelectorAll: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Fragment.querySelector: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass Fragment.querySelectorAll: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Fragment.querySelector: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Fragment.querySelector: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Fragment.querySelector: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Fragment.querySelector: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Fragment.querySelector: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Fragment.querySelector: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass Fragment.querySelectorAll: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Fragment.querySelector: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass Fragment.querySelectorAll: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Fragment.querySelector: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass Fragment.querySelectorAll: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Fragment.querySelector: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass Fragment.querySelectorAll: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Fragment.querySelector: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Fragment.querySelector: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Fragment.querySelector: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Fragment.querySelector: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Fragment.querySelector: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Fragment.querySelector: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Fragment.querySelector: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass Fragment.querySelectorAll: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Fragment.querySelector: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Fragment.querySelector: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Fragment.querySelector: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Fragment.querySelector: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Fragment.querySelector: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Fragment.querySelector: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Fragment.querySelector: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass Fragment.querySelectorAll: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Fragment.querySelector: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass Fragment.querySelectorAll: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Fragment.querySelector: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Fragment.querySelector: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Fragment.querySelector: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Fragment.querySelector: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Fragment.querySelector: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Fragment.querySelector: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Fragment.querySelector: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Fragment.querySelector: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Fragment.querySelector: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Fragment.querySelector: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Fragment.querySelector: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass Fragment.querySelectorAll: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Fragment.querySelector: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass Fragment.querySelectorAll: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Fragment.querySelector: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass Fragment.querySelectorAll: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Fragment.querySelector: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass Fragment.querySelectorAll: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Fragment.querySelector: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass Fragment.querySelectorAll: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Pass Fragment.querySelector: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Fail Fragment.querySelectorAll: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Fragment.querySelector: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail Fragment.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Fail Fragment.querySelector: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Pass In-document Element.querySelectorAll: Type selector, matching html element: html
|
|
|
+Pass In-document Element.querySelector: Type selector, matching html element: html
|
|
|
+Pass In-document Element.querySelectorAll: Type selector, matching body element: body
|
|
|
+Pass In-document Element.querySelector: Type selector, matching body element: body
|
|
|
+Pass In-document Element.querySelectorAll: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass In-document Element.querySelector: Universal selector, matching all children of element with specified ID: #universal>*
|
|
|
+Pass In-document Element.querySelectorAll: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass In-document Element.querySelector: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*
|
|
|
+Pass In-document Element.querySelectorAll: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass In-document Element.querySelector: Universal selector, matching all children of empty element with specified ID: #empty>*
|
|
|
+Pass In-document Element.querySelectorAll: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass In-document Element.querySelector: Universal selector, matching all descendants of element with specified ID: #universal *
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align]
|
|
|
+Fail In-document Element.querySelectorAll: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Fail In-document Element.querySelector: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [*|TiTlE]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching custom data-* attribute: [data-attr-presence]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, not matching attribute with similar name: .attr-presence-div3[align], .attr-presence-div4[align]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, not matching default option without selected attribute: #attr-presence-select1 option[selected]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass In-document Element.querySelector: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching align attribute with value: #attr-value [align="center"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching align attribute with value, unclosed bracket: #attr-value [align="center"
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching align attribute with empty value: #attr-value [align=""]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, not matching align attribute with partial value: #attr-value [align="c"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, not matching align attribute with incorrect value: #attr-value [align="centera"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\e9"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\e9"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass In-document Element.querySelector: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'],#attr-value input[type='radio']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass In-document Element.querySelector: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"],#attr-value input[type='radio']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden],#attr-value input[type=radio]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass In-document Element.querySelector: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with partial value: [data-attr-whitespace~="div"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\0000e9"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\e9"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'], #attr-whitespace a[rel~='nofollow']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"],#attr-whitespace a[rel~='nofollow']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark], #attr-whitespace a[rel~=nofollow]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector with double-quoted value, not matching value with space: #attr-whitespace a[rel~="book mark"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass In-document Element.querySelector: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass In-document Element.querySelector: Attribute hyphen-separated list selector, not matching unspecified lang attribute: #attr-hyphen-div1[lang|="en"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass In-document Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass In-document Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass In-document Element.querySelector: Attribute hyphen-separated list selector, not matching incorrect value: #attr-hyphen-div4[lang|="es-AR"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector, not matching class attribute not beginning with specified substring: #attr-begins [class^=apple]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass In-document Element.querySelector: Attribute begins with selector with unquoted value, not matching class attribute not beginning with specified substring: #attr-begins [class^= apple]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector, not matching class attribute not ending with specified substring: #attr-ends [class$=apple]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple ']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass In-document Element.querySelector: Attribute ends with selector with unquoted value, not matching class attribute not ending with specified substring: #attr-ends [class$=apple ]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange ']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora']
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange ]
|
|
|
+Pass In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass In-document Element.querySelector: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana ]
|
|
|
+Pass In-document Element.querySelectorAll: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass In-document Element.querySelector: :root pseudo-class selector, not matching document root element: :root
|
|
|
+Pass In-document Element.querySelectorAll: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass In-document Element.querySelector: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass In-document Element.querySelector: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass In-document Element.querySelector: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass In-document Element.querySelector: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass In-document Element.querySelector: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass In-document Element.querySelector: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass In-document Element.querySelector: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass In-document Element.querySelector: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass In-document Element.querySelector: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass In-document Element.querySelector: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass In-document Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass In-document Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass In-document Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
|
|
|
+Pass In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass In-document Element.querySelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)
|
|
|
+Pass In-document Element.querySelectorAll: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass In-document Element.querySelector: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass In-document Element.querySelector: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass In-document Element.querySelector: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass In-document Element.querySelector: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass In-document Element.querySelector: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass In-document Element.querySelector: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass In-document Element.querySelector: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child
|
|
|
+Pass In-document Element.querySelectorAll: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass In-document Element.querySelector: :first-child pseudo-class selector, doesn't match non-first-child elements: .pseudo-first-child-div2:first-child, .pseudo-first-child-div3:first-child
|
|
|
+Pass In-document Element.querySelectorAll: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass In-document Element.querySelector: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child
|
|
|
+Pass In-document Element.querySelectorAll: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass In-document Element.querySelector: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child
|
|
|
+Pass In-document Element.querySelectorAll: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass In-document Element.querySelector: :last-child pseudo-class selector, doesn't match non-last-child elements: .pseudo-last-child-div1:last-child, .pseudo-last-child-div2:first-child
|
|
|
+Pass In-document Element.querySelectorAll: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass In-document Element.querySelector: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child
|
|
|
+Pass In-document Element.querySelectorAll: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass In-document Element.querySelector: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child
|
|
|
+Pass In-document Element.querySelectorAll: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass In-document Element.querySelector: :pseudo-only-child pseudo-class selector, matching only-child em elements: #pseudo-only em:only-child
|
|
|
+Pass In-document Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass In-document Element.querySelector: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass In-document Element.querySelector: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type
|
|
|
+Pass In-document Element.querySelectorAll: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass In-document Element.querySelector: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty
|
|
|
+Pass In-document Element.querySelectorAll: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass In-document Element.querySelector: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty
|
|
|
+Pass In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass In-document Element.querySelector: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited
|
|
|
+Pass In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass In-document Element.querySelector: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited
|
|
|
+Pass In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Pass In-document Element.querySelector: :link and :visited pseudo-class selectors, chained, mutually exclusive pseudo-classes match nothing: :link:visited
|
|
|
+Fail In-document Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Fail In-document Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target
|
|
|
+Pass In-document Element.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass In-document Element.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)
|
|
|
+Pass In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass In-document Element.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)
|
|
|
+Pass In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass In-document Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)
|
|
|
+Pass In-document Element.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass In-document Element.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)
|
|
|
+Pass In-document Element.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass In-document Element.querySelector: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled
|
|
|
+Pass In-document Element.querySelectorAll: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass In-document Element.querySelector: :enabled pseudo-class selector, not matching link elements: #pseudo-link :enabled
|
|
|
+Pass In-document Element.querySelectorAll: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass In-document Element.querySelector: :disabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled
|
|
|
+Pass In-document Element.querySelectorAll: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass In-document Element.querySelector: :disabled pseudo-class selector, not matching link elements: #pseudo-link :disabled
|
|
|
+Pass In-document Element.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass In-document Element.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked
|
|
|
+Pass In-document Element.querySelectorAll: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass In-document Element.querySelector: :not pseudo-class selector, matching : #not>:not(div)
|
|
|
+Pass In-document Element.querySelectorAll: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass In-document Element.querySelector: :not pseudo-class selector, matching : #not * :not(:first-child)
|
|
|
+Pass In-document Element.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass In-document Element.querySelector: :not pseudo-class selector, matching nothing: :not(*)
|
|
|
+Pass In-document Element.querySelectorAll: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass In-document Element.querySelector: :not pseudo-class selector, matching nothing: :not(*|*)
|
|
|
+Pass In-document Element.querySelectorAll: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass In-document Element.querySelector: :not pseudo-class selector argument surrounded by spaces, matching : #not>:not( div )
|
|
|
+Pass In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass In-document Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line
|
|
|
+Pass In-document Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass In-document Element.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line
|
|
|
+Pass In-document Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass In-document Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter
|
|
|
+Pass In-document Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass In-document Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter
|
|
|
+Pass In-document Element.querySelectorAll: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass In-document Element.querySelector: :before pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:before
|
|
|
+Pass In-document Element.querySelectorAll: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass In-document Element.querySelector: ::before pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::before
|
|
|
+Pass In-document Element.querySelectorAll: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass In-document Element.querySelector: :after pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:after
|
|
|
+Pass In-document Element.querySelectorAll: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass In-document Element.querySelector: ::after pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::after
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, matching element with specified class: .class-p
|
|
|
+Pass In-document Element.querySelector: Class selector, matching element with specified class: .class-p
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass In-document Element.querySelector: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana
|
|
|
+Pass In-document Element.querySelectorAll: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass In-document Element.querySelector: Class Selector, chained, with type selector: div.apple.banana.orange
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass In-document Element.querySelector: Class selector, matching element with class value using non-ASCII characters (1): .台北Táiběi
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass In-document Element.querySelector: Class selector, matching multiple elements with class value using non-ASCII characters: .台北
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass In-document Element.querySelector: Class selector, chained, matching element with multiple class values using non-ASCII characters (1): .台北Táiběi.台北
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass In-document Element.querySelector: Class selector, matching element with class with escaped character: .foo\:bar
|
|
|
+Pass In-document Element.querySelectorAll: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass In-document Element.querySelector: Class selector, matching element with class with escaped character: .test\.foo\[5\]bar
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Pass In-document Element.querySelector: ID selector, matching element with specified id: #id #id-div1
|
|
|
+Fail In-document Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass In-document Element.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div1
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass In-document Element.querySelector: ID selector, chained, matching element with specified id: #id-div1, #id-div2
|
|
|
+Pass In-document Element.querySelectorAll: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass In-document Element.querySelector: ID Selector, chained, with type selector: div#id-div1, div#id-div2
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass In-document Element.querySelector: ID selector, not matching non-existent descendant: #id #none
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass In-document Element.querySelector: ID selector, not matching non-existent ancestor: #none #id-div1
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass In-document Element.querySelector: ID selector, matching multiple elements with duplicate id: #id-li-duplicate
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass In-document Element.querySelector: ID selector, matching id value using non-ASCII characters (1): #台北Táiběi
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass In-document Element.querySelector: ID selector, matching id value using non-ASCII characters (2): #台北
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass In-document Element.querySelector: ID selector, matching id values using non-ASCII characters (1): #台北Táiběi, #台北
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass In-document Element.querySelector: ID selector, matching element with id with escaped character: #\#foo\:bar
|
|
|
+Pass In-document Element.querySelectorAll: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass In-document Element.querySelector: ID selector, matching element with id with escaped character: #test\.foo\[5\]bar
|
|
|
+Pass In-document Element.querySelectorAll: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass In-document Element.querySelector: Namespace selector, matching element with any namespace: #any-namespace *|div
|
|
|
+Pass In-document Element.querySelectorAll: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass In-document Element.querySelector: Namespace selector, matching div elements in no namespace only: #no-namespace |div
|
|
|
+Pass In-document Element.querySelectorAll: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass In-document Element.querySelector: Namespace selector, matching any elements in no namespace only: #no-namespace |*
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element that is a descendant of an element with id: #descendant div
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: body #descendant-div1
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element with id that is a descendant of an element: body #descendant-div1
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, not matching element with id that is not a descendant of an element with id: #descendant-div1 #descendant-div4
|
|
|
+Pass In-document Element.querySelectorAll: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass In-document Element.querySelector: Descendant combinator, whitespace characters: #descendant #descendant-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass In-document Element.querySelector: Child combinator, matching element that is a child of an element with id: #child>div
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass In-document Element.querySelector: Child combinator, matching element with id that is a child of an element: div>#child-div1
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass In-document Element.querySelector: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass In-document Element.querySelector: Child combinator, not matching element with id that is not a child of an element with id: #child>#child-div3
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass In-document Element.querySelector: Child combinator, not matching element with id that is not a child of an element with class: #child-div1>.child-div3
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass In-document Element.querySelector: Child combinator, not matching element with class that is not a child of an element with class: .child-div1>.child-div3
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, surrounded by whitespace: #child-div1 > #child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, whitespace after: #child-div1> #child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, whitespace before: #child-div1 >#child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass In-document Element.querySelector: Child combinator, no whitespace: #child-div1>#child-div2
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, not matching element with id that is not an adjacent sibling of an element with id: #adjacent-div2+#adjacent-p2, #adjacent-div2+#adjacent-div1
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2 + #adjacent-p3
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, whitespace after: #adjacent-p2+ #adjacent-p3
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, whitespace before: #adjacent-p2 +#adjacent-p3
|
|
|
+Pass In-document Element.querySelectorAll: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass In-document Element.querySelector: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, not matching element with id that is not a sibling after a p element: #sibling>p~div
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, not matching element with id that is not a sibling after an element with id: #sibling-div2~#sibling-div3, #sibling-div2~#sibling-div1
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, surrounded by whitespace: #sibling-p2 ~ #sibling-p3
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, whitespace after: #sibling-p2~ #sibling-p3
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, whitespace before: #sibling-p2 ~#sibling-p3
|
|
|
+Pass In-document Element.querySelectorAll: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass In-document Element.querySelector: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3
|
|
|
+Pass In-document Element.querySelectorAll: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass In-document Element.querySelector: Syntax, group of selectors separator, surrounded by whitespace: #group em , #group strong
|
|
|
+Pass In-document Element.querySelectorAll: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass In-document Element.querySelector: Syntax, group of selectors separator, whitespace after: #group em, #group strong
|
|
|
+Pass In-document Element.querySelectorAll: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass In-document Element.querySelector: Syntax, group of selectors separator, whitespace before: #group em ,#group strong
|
|
|
+Pass In-document Element.querySelectorAll: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Pass In-document Element.querySelector: Syntax, group of selectors separator, no whitespace: #group em,#group strong
|
|
|
+Fail In-document Element.querySelectorAll: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail In-document Element.querySelector: Slotted selector: ::slotted(foo) Failed to parse selector
|
|
|
+Fail In-document Element.querySelectorAll: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|
|
|
+Fail In-document Element.querySelector: Slotted selector (no matching closing paren): ::slotted(foo Failed to parse selector
|