diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/rendering/bidi-rendering | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/rendering/bidi-rendering')
4 files changed, 127 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js new file mode 100644 index 0000000000..673f6c0b0f --- /dev/null +++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js @@ -0,0 +1,72 @@ +// https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering +// https://github.com/whatwg/html/pull/9796 +// https://github.com/whatwg/html/pull/9880 + +for (let t of [ + { + description: "<slot> inherits direction from parent", + shadow_tree: ` + <div dir=ltr data-expected="ltr"> + <slot data-expected="ltr"></slot> + </div> + `, + host_dir: "rtl", + }, + { + description: "<slot> inherits CSS direction from parent", + shadow_tree: ` + <div style="direction: ltr" data-expected="ltr"> + <slot data-expected="ltr"></slot> + </div> + `, + host_dir: "rtl", + }, + { + description: "<slot dir=ltr>", + shadow_tree: ` + <slot dir="ltr" data-expected="ltr"></slot> + `, + host_dir: "rtl", + }, + { + description: "<slot dir=rtl>", + shadow_tree: ` + <slot dir="rtl" data-expected="rtl"></slot> + `, + host_dir: "ltr", + }, + { + description: "<slot dir=auto> resolving to LTR", + shadow_tree: ` + <slot dir="ltr" data-expected="ltr"></slot> + `, + host_dir: "rtl", + host_contents: "A", + }, + { + description: "<slot dir=auto> resolving to RTL", + shadow_tree: ` + <slot dir="rtl" data-expected="rtl"></slot> + `, + host_dir: "ltr", + host_contents: "\u0627", + }, +]) { + test(() => { + let host = document.createElement("div"); + document.body.appendChild(host); + host.dir = t.host_dir; + if ("host_contents" in t) { + host.innerHTML = t.host_contents; + } + + let root = host.attachShadow({mode: "open"}); + root.innerHTML = t.shadow_tree; + + for (let e of Array.from(root.querySelectorAll("[data-expected]"))) { + assert_equals(getComputedStyle(e).direction, e.getAttribute("data-expected"), `direction of ${e.nodeName}`); + } + + host.remove(); + }, `<slot> element sets CSS direction property: ${t.description}`); +} diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html new file mode 100644 index 0000000000..6675f0a166 --- /dev/null +++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<title>HTML Rendering: slot element has unicode-bidi: isolate</title> +<link rel="author" title="L. David Baron" href="https://dbaron.org/"> +<link rel="author" title="Google" href="http://www.google.com/"> + +<div style="unicode-bidi: bidi-override; direction: ltr;">ב-א</div> + +<div>normal</div> diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html new file mode 100644 index 0000000000..bb2e927c08 --- /dev/null +++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<title>HTML Rendering: slot element has unicode-bidi: isolate</title> +<link rel="author" title="L. David Baron" href="https://dbaron.org/"> +<link rel="author" title="Google" href="http://www.google.com/"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering"> +<link rel="help" href="https://github.com/whatwg/html/pull/9880"> +<link rel="match" href="slot-no-isolate-001-ref.html"> + +<div>א-<span id="e">ב</span></div> + +<div id="v"></div> + +<script> + +let e = document.getElementById("e"); +let root = e.attachShadow({mode: "open"}); +// use display:inline to override default display:contents +root.innerHTML = "<slot style='display:inline'>\u05D2</slot>"; +let val = getComputedStyle(root.querySelector("slot")).unicodeBidi; +document.getElementById("v").innerText = val; + +</script> diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules.html b/testing/web-platform/tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules.html new file mode 100644 index 0000000000..78bfb80e6f --- /dev/null +++ b/testing/web-platform/tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<title>unicode-bidi UA stylesheet rules</title> +<link rel="author" href="masonf@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> + +<body> +<script> + const elements = ['address', 'blockquote', 'center', 'div', 'figure', + 'figcaption', 'footer', 'form', 'header', 'hr', 'legend', 'listing', + 'main', 'p', 'plaintext', 'pre', 'summary', 'xmp', 'article', 'aside', + 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup', 'nav', 'section', 'search', + 'table', 'caption', 'colgroup', 'col', 'thead', 'tbody', 'tfoot', 'tr', + 'td', 'th', 'dir', 'dd', 'dl', 'dt', 'menu', 'ol', 'ul', 'li', 'bdi', + 'output']; + for(let tagname of elements) { + test((t) => { + const element = document.createElement(tagname); + t.add_cleanup(() => element.remove()); + document.body.appendChild(element); + assert_equals(window.getComputedStyle(element, "").unicodeBidi,'isolate'); + },`UA stylesheet rule for unicode-bidi, for <${tagname}>`); + } +</script> |