Test the intersects function that checks if a range intersects another range.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS internals.rangeIntersectsRange(contentsRange(document), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(documentElement), contentsRange(documentElement), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(body), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), contentsRange(documentElement), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(documentElement), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), contentsRange(body), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(documentElement), contentsRange(body), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(documentElement), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), contentsRange(documentElement), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(documentElement), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(documentElement), contentsRange(body), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(documentElement), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), collapsedRange(document, 0), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(collapsedRange(document, 0), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), collapsedRange(document, 1), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(collapsedRange(document, 1), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), collapsedRange(document, 2), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(collapsedRange(document, 2), contentsRange(document), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(range(document, 0, document, 2), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), range(document, 0, document, 2), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), range(document, 1, document, 2), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(range(document, 1, document, 2), contentsRange(document), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(range(document, 0, documentElement, 0), contentsRange(body), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(contentsRange(body), range(document, 0, documentElement, 0), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(range(document, 0, body, 0), collapsedRange(body, 0), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(collapsedRange(body, 0), range(document, 0, body, 0), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(document), contentsRange(a), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(contentsRange(a), contentsRange(document), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(f), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(contentsRange(f), contentsRange(body), 'ComposedTree') is false
PASS internals.rangeIntersectsRange(contentsRange(body), contentsRange(h), 'ComposedTree') is true
PASS internals.rangeIntersectsRange(contentsRange(h), contentsRange(body), 'ComposedTree') is true
PASS successfullyParsed is true

TEST COMPLETE

