This test document.elementFromPoint is evaluated in with respect to the viewport, not the document.

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



Test Initial
PASS unscrolledBoxInitial is '0'
PASS scrolledDownBoxInitial is '5'
PASS scrolledRightBoxInitial is '3'
PASS scrolledDownAndRightBoxInitial is '8'

Test Offscreen
PASS unscrolledBoxOffscreen is '0'
PASS scrolledDownBoxOffscreen is '5'
PASS scrolledRightBoxOffscreen is '3'
PASS scrolledDownAndRightBoxOffscreen is '8'
Zoomed out

Test Initial
PASS unscrolledBoxInitial is '0'
PASS scrolledDownBoxInitial is '5'
PASS scrolledRightBoxInitial is '3'
PASS scrolledDownAndRightBoxInitial is '8'
PASS successfullyParsed is true

TEST COMPLETE

