Test that a cursor change that occurs due only to a style change correctly considers iframes.

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



Mouse moved to cursor changing div
PASS internals.getCurrentCursorInfo() is "type=Hand hotSpot=0,0"
Changing cursor style
PASS internals.getCurrentCursorInfo() is "type=Wait hotSpot=0,0"

Now move mouse onto iframe above cursor changing div
PASS document.elementFromPoint(100, y) is frame
PASS document.elementsFromPoint(100, y).indexOf(container) > 0 is true
PASS internals.cursorUpdatePending is false
PASS internals.getCurrentCursorInfo() is "type=IBeam hotSpot=0,0"

Changing cursor style of the background should not affect the cursor as it sits over the iframe
PASS internals.getCurrentCursorInfo() is "type=IBeam hotSpot=0,0"
PASS successfullyParsed is true

TEST COMPLETE

