Test that hitting areas outside a paged container takes us to the right text content on some page.

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


PASS successfullyParsed is true

TEST COMPLETE
Above page 1:
PASS document.caretRangeFromPoint(50,0).startOffset is 0
PASS document.caretRangeFromPoint(150,0).startOffset is 0
PASS document.caretRangeFromPoint(300,0).startOffset is 0
To the left of page 1:
PASS document.caretRangeFromPoint(0,20).startOffset is 0
PASS document.caretRangeFromPoint(0,60).startOffset is 0
PASS document.caretRangeFromPoint(0,100).startOffset is 4
PASS document.caretRangeFromPoint(0,140).startOffset is 8
To the right of page 1:
PASS document.caretRangeFromPoint(400,20).startOffset is 0
PASS document.caretRangeFromPoint(400,60).startOffset is 3
PASS document.caretRangeFromPoint(400,100).startOffset is 7
PASS document.caretRangeFromPoint(400,140).startOffset is 11
Scroll to page 2
To the left of page 2:
PASS document.caretRangeFromPoint(0,60).startOffset is 12
PASS document.caretRangeFromPoint(0,100).startOffset is 16
PASS document.caretRangeFromPoint(0,140).startOffset is 20
To the right of page 2:
PASS document.caretRangeFromPoint(400,60).startOffset is 15
PASS document.caretRangeFromPoint(400,100).startOffset is 19
PASS document.caretRangeFromPoint(400,140).startOffset is 23
Scroll to page 3
To the left of page 3:
PASS document.caretRangeFromPoint(0,60).startOffset is 24
PASS document.caretRangeFromPoint(0,100).startOffset is 28
PASS document.caretRangeFromPoint(0,140).startOffset is 32
To the right of page 3:
PASS document.caretRangeFromPoint(400,60).startOffset is 27
PASS document.caretRangeFromPoint(400,100).startOffset is 31
PASS document.caretRangeFromPoint(400,140).startOffset is 35
xxx xxx xxx xxx xxx xxx xxx xxx xxx
