summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html')
-rw-r--r--testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html b/testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html
new file mode 100644
index 0000000000..8219ba8285
--- /dev/null
+++ b/testing/web-platform/tests/dom/ranges/Range-intersectsNode-shadow.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<title>Range.intersectsNode with Shadow DOM</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="host"></div>
+<script>
+test(() => {
+ const host = document.getElementById("host");
+ host.attachShadow({ mode: "open" }).innerHTML = `<span>ABC</span>`;
+
+ const range = document.createRange();
+ range.selectNode(document.body);
+
+ assert_true(range.intersectsNode(host), "Should intersect host");
+ assert_false(range.intersectsNode(host.shadowRoot), "Should not intersect shadow root");
+ assert_false(range.intersectsNode(host.shadowRoot.firstElementChild), "Should not intersect shadow span");
+}, "Range.intersectsNode() doesn't return true for shadow children in other trees");
+</script>
+