This is a very long, long, long, long, line that contains a link that expands multiple lines: Apple

Inc. is based in Cupertino California.



A singleline link: Apple Inc. is based in Cupertino California.

This test ensures that the activation point (or click point) for a link is inside the bounding rect for the link. .

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


PASS clickPointInsideFrame(link) is true
PASS clickPointInsideFrame(link) is true
PASS successfullyParsed is true

TEST COMPLETE

