This test checks getBoundingClientRect() on rectangles

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

Checking a rectangle of absolute size at absolute coordinates:
PASS r1.left is 20
PASS r1.top is 30
PASS r1.width is 40
PASS r1.height is 50
PASS r1.right is 60
PASS r1.bottom is 80

Checking a resized rectangle at relative coordinates:
PASS r2.left is 180
PASS r2.top is 15
PASS r2.width is 160
PASS r2.height is 25
PASS r2.right is 340
PASS r2.bottom is 40

Checking rectangles with overflow:
PASS r3.left is 300
PASS r3.top is 0
PASS r3.width is 210
PASS r3.height is 50
PASS r3.right is 510
PASS r3.bottom is 50
PASS r4.left is 300
PASS r4.top is 50
PASS r4.width is 210
PASS r4.height is 60
PASS r4.right is 510
PASS r4.bottom is 110

PASS successfullyParsed is true

TEST COMPLETE

