blob: 7e1027ec8821903d1c9ffedd20908e98d0c19504 [file] [log] [blame]
<html><head></head><body>
<script src="../../resources/js-test.js"></script>
<script>
description("Test the intersects function that checks if a range intersects a node.")
function range(startContainer, startOffset, endContainer, endOffset)
{
return new StaticRange({ startContainer: startContainer, startOffset: startOffset, endContainer: endContainer, endOffset: endOffset })
}
function contentsRange(node)
{
return range(node, 0, node, node.childNodes.length)
}
let documentElement = document.documentElement;
let body = document.body;
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(document), documentElement, 'ComposedTree')")
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(document), body, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(documentElement), body, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(document), document, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(range(document, 0, document, 2), document, 'ComposedTree')");
shouldBeFalse("internals.rangeIntersectsNode(range(document, 0, documentElement, 0), body, 'ComposedTree')");
shouldBeFalse("internals.rangeIntersectsNode(range(document, 0, documentElement, 1), body, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(range(document, 0, body, 0), body, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(range(document, 0, body, 1), body, 'ComposedTree')");
shouldBeTrue("internals.rangeIntersectsNode(range(document, 0, documentElement, 2), body, 'ComposedTree')");
let a = document.createElement("div")
shouldBeFalse("internals.rangeIntersectsNode(contentsRange(document), a, 'ComposedTree')")
body.appendChild(a)
let b = document.createElement("div")
body.appendChild(b)
let c = document.createElement("div")
b.appendChild(c)
let d = document.createElement("div")
a.appendChild(d)
let e = document.createElement("div")
let f = document.createElement("div")
e.appendChild(f)
shouldBeFalse("internals.rangeIntersectsNode(contentsRange(body), e, 'ComposedTree')")
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(f), e, 'ComposedTree')")
shouldBeFalse("internals.rangeIntersectsNode(contentsRange(body), f, 'ComposedTree')")
let g = document.createElement("textarea");
c.appendChild(g)
let h = internals.ensureUserAgentShadowRoot(g).firstChild
shouldBeTrue("internals.rangeIntersectsNode(contentsRange(body), h, 'ComposedTree')")
</script>
</body></html>