Tests SVGSVGElement.checkIntersection

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


PASS rectOfBox = createRect(10, 10, 50, 50); document.documentElement.checkIntersection(box, rectOfBox) is true
PASS document.documentElement.checkEnclosure(box, rectOfBox) is true
PASS rectInBox = createRect(20, 20, 20, 20); document.documentElement.checkIntersection(box, rectInBox) is true
PASS document.documentElement.checkEnclosure(box, rectInBox) is false
PASS boxExtendingUp = createRect(10, 0, 50, 60); document.documentElement.checkIntersection(box, boxExtendingUp) is true
PASS document.documentElement.checkEnclosure(box, boxExtendingUp) is true
PASS boxExtendingDown = createRect(10, 10, 50, 60); document.documentElement.checkIntersection(box, boxExtendingDown) is true
PASS document.documentElement.checkEnclosure(box, boxExtendingDown) is true
PASS boxExtendingLeft = createRect(0, 10, 60, 50); document.documentElement.checkIntersection(box, boxExtendingLeft) is true
PASS document.documentElement.checkEnclosure(box, boxExtendingLeft) is true
PASS boxExtendingRight = createRect(10, 10, 60, 50); document.documentElement.checkIntersection(box, boxExtendingRight) is true
PASS document.documentElement.checkEnclosure(box, boxExtendingRight) is true
PASS boxShrinkingTop = createRect(10, 20, 50, 40); document.documentElement.checkIntersection(box, boxShrinkingTop) is true
PASS document.documentElement.checkEnclosure(box, boxShrinkingTop) is false
PASS boxShrinkingBottom = createRect(10, 10, 50, 40); document.documentElement.checkIntersection(box, boxShrinkingBottom) is true
PASS document.documentElement.checkEnclosure(box, boxShrinkingBottom) is false
PASS boxShrinkingLeft = createRect(20, 10, 40, 50); document.documentElement.checkIntersection(box, boxShrinkingLeft) is true
PASS document.documentElement.checkEnclosure(box, boxShrinkingLeft) is false
PASS boxShrinkingRight = createRect(10, 10, 40, 50); document.documentElement.checkIntersection(box, boxShrinkingRight) is true
PASS document.documentElement.checkEnclosure(box, boxShrinkingRight) is false
PASS upperLeftCornerBox = createRect(5, 5, 20, 20); document.documentElement.checkIntersection(box, upperLeftCornerBox) is true
PASS document.documentElement.checkEnclosure(box, upperLeftCornerBox) is false
PASS upperRightCornerBox = createRect(45, 5, 20, 20); document.documentElement.checkIntersection(box, upperRightCornerBox) is true
PASS document.documentElement.checkEnclosure(box, upperRightCornerBox) is false
PASS boxOnTop = createRect(10, 5, 50, 5); document.documentElement.checkIntersection(box, boxOnTop) is false
PASS document.documentElement.checkEnclosure(box, boxOnTop) is false
PASS boxOnBottom = createRect(60, 5, 50, 5); document.documentElement.checkIntersection(box, boxOnBottom) is false
PASS document.documentElement.checkEnclosure(box, boxOnBottom) is false
PASS boxOnLeft = createRect(5, 10, 5, 50); document.documentElement.checkIntersection(box, boxOnLeft) is false
PASS document.documentElement.checkEnclosure(box, boxOnLeft) is false
PASS boxOnRight = createRect(60, 10, 5, 50); document.documentElement.checkIntersection(box, boxOnRight) is false
PASS document.documentElement.checkEnclosure(box, boxOnRight) is false
PASS box.setAttribute("class", "width20"); document.documentElement.checkIntersection(box, upperRightCornerBox) is false
PASS narrowBox = createRect(10, 10, 20, 50); document.documentElement.checkEnclosure(box, narrowBox) is true
PASS box.setAttribute("class", "width50"); document.documentElement.checkIntersection(box, upperRightCornerBox) is true
PASS document.documentElement.checkEnclosure(box, narrowBox) is false
PASS successfullyParsed is true

TEST COMPLETE

