Test mouse events are routed to lock target.

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


PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv1
     With a lock in place send a click.
PASS event type: mousedown, target: target1, received on: target1
PASS event type: mousedown, target: target1, received on: body
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv2
     With a lock in place send a click.
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mousedown, target: target2, received on: body
     Ensure double clicks work as expected, sending 4 clicks.
     Creating a click and dblclick.
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mouseup, target: target2, received on: target2
PASS event type: click, target: target2, received on: target2
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mouseup, target: target2, received on: target2
PASS event type: click, target: target2, received on: target2
PASS event type: dblclick, target: target2, received on: target2
     Ensuring no false dblclicks if we continue.
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mouseup, target: target2, received on: target2
PASS event type: click, target: target2, received on: target2
PASS event type: mousedown, target: target2, received on: target2
PASS event type: mouseup, target: target2, received on: target2
PASS event type: click, target: target2, received on: target2
PASS successfullyParsed is true

TEST COMPLETE

