summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/scroll-to-text-fragment
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/meta/scroll-to-text-fragment')
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/__dir__.ini1
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/find-range-from-text-directive.html.ini207
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/force-load-at-top.html.ini27
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/idlharness.window.js.ini32
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/iframe-scroll.sub.html.ini7
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/iframes.sub.html.ini15
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/non-html-documents.html.ini21
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/percent-encoding.html.ini31
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/redirects.html.ini59
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/same-document-tests.html.ini11
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-api.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-same-doc.html.ini7
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-security.sub.html.ini24
-rw-r--r--testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment.html.ini275
14 files changed, 726 insertions, 0 deletions
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/__dir__.ini b/testing/web-platform/meta/scroll-to-text-fragment/__dir__.ini
new file mode 100644
index 0000000000..2ef043b928
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/__dir__.ini
@@ -0,0 +1 @@
+implementation-status: backlog
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/find-range-from-text-directive.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/find-range-from-text-directive.html.ini
new file mode 100644
index 0000000000..4725095905
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/find-range-from-text-directive.html.ini
@@ -0,0 +1,207 @@
+[find-range-from-text-directive.html]
+ expected:
+ if os == "mac": [OK, TIMEOUT]
+ [TIMEOUT, OK]
+ [inverted range search.]
+ expected:
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ if os == "linux": [PASS, NOTRUN, TIMEOUT]
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [Suffix comes before |end|.]
+ expected:
+ if os == "win": [PASS, NOTRUN, TIMEOUT]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [Multiple overlapping prefixes.]
+ expected: FAIL
+
+ [match doesn't immediately follow prefix.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ FAIL
+
+ [match doesn't immediately follow first prefix instance.]
+ expected:
+ if os == "android": [FAIL, TIMEOUT, NOTRUN, PASS]
+ [FAIL, PASS, TIMEOUT, NOTRUN]
+
+ [Suffix must be end bounded.]
+ expected:
+ if os == "win": [PASS, NOTRUN, TIMEOUT]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [non-existent exact match.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [non-existent range match.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [Multiple overlapping one letter prefixes.]
+ expected: FAIL
+
+ [Content appears between match and suffix.]
+ expected:
+ if os == "win": [PASS, NOTRUN, TIMEOUT]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS]
+
+ [overlapping exact matches with suffix.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Match with no suffix.]
+ expected:
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ if os == "win": [FAIL, NOTRUN, TIMEOUT]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Match text after prefix.]
+ expected: FAIL
+
+ [Search invisible content between |end| and suffix.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Range with preceeding suffix.]
+ expected:
+ if os == "linux": [NOTRUN, TIMEOUT, PASS]
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [no suffix forces |end| to be end bounded.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [|end| must be start bounded even if full range is word bounded.]
+ expected:
+ if os == "linux": [PASS, NOTRUN, TIMEOUT]
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [non-existent |end|.]
+ expected:
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [suffix means |start| need not end on word boundary.]
+ expected:
+ if os == "linux": [FAIL, NOTRUN]
+ FAIL
+
+ [Search invisible content between prefix and match.]
+ expected: FAIL
+
+ [overlapping one letter exact matches with suffix.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Basic smoke test - full word match.]
+ expected: FAIL
+
+ [matching range search.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Prefix need not end on a word boundary.]
+ expected: FAIL
+
+ [|start| doesn't need to start on word boundary.]
+ expected:
+ if os == "linux": [FAIL, NOTRUN]
+ FAIL
+
+ [no-prefix; suffix means |start| need not end on word boundary.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [no-prefix; |end| forces |start| to end on word boundary.]
+ expected:
+ if os == "android": [NOTRUN, TIMEOUT, PASS]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [no-prefix; no |end| or suffix forces |start| to end on word boundary.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [Non-existent suffix.]
+ expected:
+ if os == "win": [PASS, NOTRUN, TIMEOUT]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [Suffix need not be start bounded.]
+ expected:
+ if os == "win": [FAIL, NOTRUN, TIMEOUT]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [|end| must be start bounded.]
+ expected:
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+ if os == "linux": [PASS, NOTRUN, TIMEOUT]
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ [NOTRUN, PASS, TIMEOUT]
+
+ [suffix means |end| need not be end bounded.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ if os == "linux": [FAIL, NOTRUN, TIMEOUT]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [|start| must start on a word boundary.]
+ expected:
+ if os == "android": [NOTRUN, PASS, TIMEOUT]
+ [PASS, TIMEOUT, NOTRUN]
+
+ [Non-matching suffix search continues to prefix match.]
+ expected:
+ if os == "mac": [FAIL, NOTRUN, TIMEOUT]
+ if os == "win": [FAIL, NOTRUN, TIMEOUT]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Range end matches correct suffix.]
+ expected:
+ if os == "mac": [FAIL, NOTRUN, TIMEOUT]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Non-matching suffix in first potential match.]
+ expected:
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ if os == "win": [FAIL, NOTRUN, TIMEOUT]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [match doesn't immediately follow prefix.]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [prefix with non-existent range match.]
+ expected:
+ if os == "linux": [PASS, TIMEOUT, NOTRUN]
+ [PASS, TIMEOUT]
+
+ [no |end| or suffix forces |start| to end on word boundary.]
+ expected:
+ if os == "linux": [PASS, TIMEOUT]
+
+ [prefix with non-existent exact match.]
+ expected:
+ if os == "linux": [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/force-load-at-top.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/force-load-at-top.html.ini
new file mode 100644
index 0000000000..8c76e0b820
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/force-load-at-top.html.ini
@@ -0,0 +1,27 @@
+[force-load-at-top.html]
+ expected:
+ if os == "linux": OK
+ [OK, TIMEOUT]
+ [force-load-at-top must block scroll on load from element fragment.]
+ expected: [FAIL, PASS, TIMEOUT, NOTRUN]
+
+ [no-force-load-at-top must not block scroll on load from history scroll restoration.]
+ expected:
+ if os == "win": [PASS, TIMEOUT, NOTRUN]
+ if os == "mac": [PASS, TIMEOUT, NOTRUN]
+
+ [no-force-load-at-top must not block scroll on load from text fragment.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [no-force-load-at-top must not block scroll on load from text fragment with element fallback.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [no-force-load-at-top must not block scroll on load from element fragment.]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [force-load-at-top must block scroll on load from history scroll restoration.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [force-load-at-top must block scroll on load from text fragment with element fallback.]
+ expected:
+ if os == "win": [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/idlharness.window.js.ini b/testing/web-platform/meta/scroll-to-text-fragment/idlharness.window.js.ini
new file mode 100644
index 0000000000..4585cd7766
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/idlharness.window.js.ini
@@ -0,0 +1,32 @@
+[idlharness.window.html]
+ expected:
+ if os == "android": [OK, TIMEOUT]
+ [FragmentDirective interface: existence and properties of interface object]
+ expected: FAIL
+
+ [FragmentDirective interface object length]
+ expected: FAIL
+
+ [FragmentDirective interface object name]
+ expected: FAIL
+
+ [FragmentDirective interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [FragmentDirective interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [FragmentDirective interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [Stringification of document.fragmentDirective]
+ expected: FAIL
+
+ [Document interface: document must inherit property "fragmentDirective" with the proper type]
+ expected: FAIL
+
+ [FragmentDirective must be primary interface of document.fragmentDirective]
+ expected: FAIL
+
+ [Document interface: attribute fragmentDirective]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/iframe-scroll.sub.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/iframe-scroll.sub.html.ini
new file mode 100644
index 0000000000..4515c94d95
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/iframe-scroll.sub.html.ini
@@ -0,0 +1,7 @@
+[iframe-scroll.sub.html]
+ expected: TIMEOUT
+ [CROSS-ORIGIN: Text directive in iframe doesn't bubble to outer frame.]
+ expected: TIMEOUT
+
+ [SAME-ORIGIN: Text directive in iframe bubbles to outer frame.]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/iframes.sub.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/iframes.sub.html.ini
new file mode 100644
index 0000000000..b2d3eac0a5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/iframes.sub.html.ini
@@ -0,0 +1,15 @@
+[iframes.sub.html]
+ [Text fragment specified in iframe.src]
+ expected: FAIL
+
+ [Navigate same-origin iframe via window.location]
+ expected: FAIL
+
+ [Navigate cross-origin iframe via window.location]
+ expected: FAIL
+
+ [Cross-origin with element-id fallback]
+ expected: FAIL
+
+ [Non-matching text with element-id fallback]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/non-html-documents.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/non-html-documents.html.ini
new file mode 100644
index 0000000000..a984668b1d
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/non-html-documents.html.ini
@@ -0,0 +1,21 @@
+[non-html-documents.html]
+ expected:
+ if os == "android": [TIMEOUT, OK]
+ TIMEOUT
+ [Text directive allowed in text/plain]
+ expected:
+ if os == "android": [FAIL, TIMEOUT]
+ NOTRUN
+
+ [Text directive blocked in application/xml]
+ expected:
+ if os == "android": [TIMEOUT, NOTRUN]
+ NOTRUN
+
+ [Text directive allowed in text/html]
+ expected: FAIL
+
+ [Text directive blocked in application/json]
+ expected:
+ if os == "android": PASS
+ TIMEOUT
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/percent-encoding.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/percent-encoding.html.ini
new file mode 100644
index 0000000000..3b19f7530b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/percent-encoding.html.ini
@@ -0,0 +1,31 @@
+[percent-encoding.html]
+ expected:
+ if os == "win": [OK, TIMEOUT]
+ [Test navigation with fragment: Percent-encoded "%" char..]
+ expected: FAIL
+
+ [Test navigation with fragment: Single digit percent-encoding is invalid..]
+ expected:
+ if os == "win": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Percent-encoding limited to two digits..]
+ expected:
+ if os == "win": [FAIL, NOTRUN]
+ FAIL
+
+ [Test navigation with fragment: Percent-encoded "%%F".]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "linux": [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [Test navigation with fragment: Percent-encoding multibyte codepoint (CHECKMARK)..]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "linux": [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [Test navigation with fragment: Percent char followed by percent char is invalid..]
+ expected:
+ if os == "android": [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/redirects.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/redirects.html.ini
new file mode 100644
index 0000000000..4c2812e844
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/redirects.html.ini
@@ -0,0 +1,59 @@
+[redirects.html]
+ disabled: random test # bug 1661381, bug 1662311, bug 1662312
+
+ expected: TIMEOUT
+ [Text fragment works on client-side meta redirect.]
+ expected: NOTRUN
+
+ [Text fragment works from HTTP 308 redirect.]
+ expected: FAIL
+
+ [Text fragment propagated through HTTP 303 redirect.]
+ expected:
+ if os == "mac": NOTRUN
+ if os == "linux": FAIL
+ TIMEOUT
+
+ [Text fragment works from HTTP 301 redirect.]
+ expected: FAIL
+
+ [Text fragment propagated through HTTP 301 redirect.]
+ expected:
+ if os == "mac": TIMEOUT
+ FAIL
+
+ [Text fragment propagated through HTTP 302 redirect.]
+ expected:
+ if os == "mac": NOTRUN
+ FAIL
+
+ [Text fragment propagated through HTTP 307 redirect.]
+ expected:
+ if os == "linux": FAIL
+ NOTRUN
+
+ [One text fragment per user gesture allowed in client-side location redirect.]
+ expected: NOTRUN
+
+ [Text fragment works from HTTP 307 redirect.]
+ expected: FAIL
+
+ [Text fragment works from HTTP 302 redirect.]
+ expected: FAIL
+
+ [Text fragment works from HTTP 303 redirect.]
+ expected: FAIL
+
+ [One text fragment per user gesture allowed in client-side meta redirect.]
+ expected: NOTRUN
+
+ [Text fragment propagated through HTTP 308 redirect.]
+ expected:
+ if os == "linux": FAIL
+ NOTRUN
+
+ [Text fragment works on client-side location redirect.]
+ expected:
+ if os == "linux": TIMEOUT
+ NOTRUN
+
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/same-document-tests.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/same-document-tests.html.ini
new file mode 100644
index 0000000000..8a0a413e2c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/same-document-tests.html.ini
@@ -0,0 +1,11 @@
+[same-document-tests.html]
+ expected:
+ if os == "android": [OK, TIMEOUT]
+ [Basic text directive navigation]
+ expected: FAIL
+
+ [Basic element id fallback]
+ expected: FAIL
+
+ [Malformed text directive element id fallback]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-api.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-api.html.ini
new file mode 100644
index 0000000000..f1a3bca9e4
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-api.html.ini
@@ -0,0 +1,9 @@
+[scroll-to-text-fragment-api.html]
+ disabled:
+ if (os == "win") and (processor == "x86_64"): random test
+ [Scroll to text is feature detectable via document.fragmentDirective]
+ expected: FAIL
+
+ [Setting document.fragmentDirective has no effect]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-same-doc.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-same-doc.html.ini
new file mode 100644
index 0000000000..0639b76c8c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-same-doc.html.ini
@@ -0,0 +1,7 @@
+[scroll-to-text-fragment-same-doc.html]
+ [Activated for same-document window.location setter]
+ expected: FAIL
+
+ [Activated for same-document window.location.replace]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-security.sub.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-security.sub.html.ini
new file mode 100644
index 0000000000..d170a7e55f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment-security.sub.html.ini
@@ -0,0 +1,24 @@
+[scroll-to-text-fragment-security.sub.html]
+ expected:
+ if os == "android": [TIMEOUT, OK]
+ [OK, TIMEOUT]
+ [Test that a text fragment directive requires a user activation (user_activation=true).]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test that a text fragment directive is not activated when there is a window opener (noopener=true).]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test that a text fragment directive requires a user activation (user_activation=false).]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test that a text fragment directive is not activated within an iframe.]
+ expected:
+ if os == "linux": [FAIL, NOTRUN, TIMEOUT]
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test that a text fragment directive is not activated when there is a window opener (noopener=false).]
+ expected:
+ if os == "linux": [FAIL, NOTRUN, TIMEOUT]
+ if os == "android": [TIMEOUT, FAIL, NOTRUN]
+ [FAIL, TIMEOUT, NOTRUN]
diff --git a/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment.html.ini b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment.html.ini
new file mode 100644
index 0000000000..1dc328c049
--- /dev/null
+++ b/testing/web-platform/meta/scroll-to-text-fragment/scroll-to-text-fragment.html.ini
@@ -0,0 +1,275 @@
+[scroll-to-text-fragment.html]
+ expected:
+ if os == "mac": [OK, TIMEOUT]
+ if os == "win": [OK, TIMEOUT]
+ [TIMEOUT, OK]
+ [Test navigation with fragment: Fragment directive with percent encoded syntactical characters "&,-" should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by suffix should match the suffixed text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Generic fragment directive with existing element fragment should scroll to element.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with prefix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Non-matching text directive with existing element fragment should scroll to element.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should match when context terms are separated by node boundaries.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Non-matching text directive with nonexistent element fragment should not match and not scroll.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Non-whole-word exact text with spaces should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix and suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should not scroll to hidden text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Fragment directive with percent encoded non-ASCII unicode character should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by prefix should match the prefixed text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with no context should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Uppercase TEXT directive should not parse as a text directive.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix and nonmatching suffix should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple non-whole-word exact texts should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should match text within shadow DOM.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with non-matching startText should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with invalid syntax (context terms without "-") should not parse as a text directive.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by prefix and suffix should match the text with the given context.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with existing element fragment should match and scroll into view text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with nonexistent element fragment should match and scroll into view text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with nonmatching prefix and matching suffix should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with prefix and suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Fragment directive with all TextMatchChars should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with percent encoded spaces should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: A non-matching text directive followed by a matching text directive should match and scroll into view the second text directive.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should not scroll to display none text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple text directives and a non-text directive should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple matching exact texts should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with non-matching endText should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with no context should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should horizontally scroll into view.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive followed by non-text directive should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Fragment directive with percent encoded syntactical characters "&,-" should match text.]
+ expected:
+ if os == "android": [TIMEOUT, NOTRUN, FAIL]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Non-matching text directive with existing element fragment should scroll to element.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Generic fragment directive with existing element fragment should scroll to element.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with prefix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by suffix should match the suffixed text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should match when context terms are separated by node boundaries.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Test navigation with fragment: Non-matching text directive with nonexistent element fragment should not match and not scroll.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Non-whole-word exact text with spaces should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix and suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should not scroll to hidden text.]
+ expected:
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by prefix should match the prefixed text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with no context should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix and nonmatching suffix should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple non-whole-word exact texts should not match.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple text directives and a non-text directive should match text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should match text within shadow DOM.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Test navigation with fragment: Text range with non-matching startText should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with invalid syntax (context terms without "-") should not parse as a text directive.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with existing element fragment should match and scroll into view text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple match text directive disambiguated by prefix and suffix should match the text with the given context.]
+ expected:
+ if os == "linux": [TIMEOUT, FAIL, NOTRUN]
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with non-matching endText should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with prefix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive with nonexistent element fragment should match and scroll into view text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text range with nonmatching prefix and matching suffix should not match.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with prefix and suffix should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Fragment directive with all TextMatchChars should match text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with percent encoded spaces should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: A non-matching text directive followed by a matching text directive should match and scroll into view the second text directive.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should not scroll to display none text.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Test navigation with fragment: Uppercase TEXT directive should not parse as a text directive.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Multiple matching exact texts should match text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Fragment directive with percent encoded non-ASCII unicode character should match text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with no context should match text.]
+ expected: [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Text directive should horizontally scroll into view.]
+ expected:
+ if os == "win": [FAIL, TIMEOUT, NOTRUN]
+ if os == "mac": [FAIL, TIMEOUT, NOTRUN]
+ [NOTRUN, FAIL, TIMEOUT]
+
+ [Test navigation with fragment: Text directive followed by non-text directive should match text.]
+ expected:
+ if os == "android": [NOTRUN, FAIL, TIMEOUT]
+ [FAIL, TIMEOUT, NOTRUN]
+
+ [Test navigation with fragment: Exact text with prefix and suffix and query equals prefix..]
+ expected: [FAIL, TIMEOUT, NOTRUN]