diff options
Diffstat (limited to 'testing/web-platform/tests/dom/ranges/Range-intersectsNode-2.html')
-rw-r--r-- | testing/web-platform/tests/dom/ranges/Range-intersectsNode-2.html | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/ranges/Range-intersectsNode-2.html b/testing/web-platform/tests/dom/ranges/Range-intersectsNode-2.html new file mode 100644 index 0000000000..48072d98af --- /dev/null +++ b/testing/web-platform/tests/dom/ranges/Range-intersectsNode-2.html @@ -0,0 +1,36 @@ +<!doctype htlml> +<title>Range.intersectsNode</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="div"><span id="s0">s0</span><span id="s1">s1</span><span id="s2">s2</span></div> +<script> +// Taken from Chromium bug: http://crbug.com/822510 +test(() => { + const range = new Range(); + const div = document.getElementById('div'); + const s0 = document.getElementById('s0'); + const s1 = document.getElementById('s1'); + const s2 = document.getElementById('s2'); + + // Range encloses s0 + range.setStart(div, 0); + range.setEnd(div, 1); + assert_true(range.intersectsNode(s0), '[s0] range.intersectsNode(s0)'); + assert_false(range.intersectsNode(s1), '[s0] range.intersectsNode(s1)'); + assert_false(range.intersectsNode(s2), '[s0] range.intersectsNode(s2)'); + + // Range encloses s1 + range.setStart(div, 1); + range.setEnd(div, 2); + assert_false(range.intersectsNode(s0), '[s1] range.intersectsNode(s0)'); + assert_true(range.intersectsNode(s1), '[s1] range.intersectsNode(s1)'); + assert_false(range.intersectsNode(s2), '[s1] range.intersectsNode(s2)'); + + // Range encloses s2 + range.setStart(div, 2); + range.setEnd(div, 3); + assert_false(range.intersectsNode(s0), '[s2] range.intersectsNode(s0)'); + assert_false(range.intersectsNode(s1), '[s2] range.intersectsNode(s1)'); + assert_true(range.intersectsNode(s2), '[s2] range.intersectsNode(s2)'); +}, 'Range.intersectsNode() simple cases'); +</script> |