Tests that gamepad events are not fired when page is hidden but kept as pending and fired when the page becomes visible again.

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


PASS Received a gamepadconnected event
PASS event.gamepad.index is 0
PASS document.visibilityState is "hidden"
PASS eventCounter < expectations.length is true
PASS event.gamepad.index is 0
PASS expected.connected is false
PASS event.gamepad.connected is false
PASS eventCounter < expectations.length is true
PASS event.gamepad.index is 1
PASS expected.connected is false
PASS event.gamepad.connected is false
PASS event.gamepad.id is "old"
PASS eventCounter < expectations.length is true
PASS event.gamepad.index is 1
PASS expected.connected is true
PASS event.gamepad.connected is true
PASS event.gamepad.id is "new"
PASS eventCounter < expectations.length is true
PASS event.gamepad.index is 2
PASS expected.connected is true
PASS event.gamepad.connected is true
PASS successfullyParsed is true

TEST COMPLETE

