This tests mouse events sets the correct modifier key states.
To manually test, turn on CapsLock and press Alt key and move the mosue cursor to the red box below, and then double click it.

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


PASS currentEvent.type is "mousedown"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "mouseup"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "click"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "mousedown"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "mouseup"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "click"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS currentEvent.type is "dblclick"
PASS currentEvent.getModifierState("Control") is false
PASS currentEvent.getModifierState("Alt") is true
PASS currentEvent.getModifierState("Shift") is false
PASS currentEvent.getModifierState("Meta") is false
PASS currentEvent.getModifierState("AltGraph") is false
PASS currentEvent.getModifierState("CapsLock") is true
PASS successfullyParsed is true

TEST COMPLETE

