diff options
Diffstat (limited to 'dom/tests/mochitest/gamepad/test_check_timestamp_iframe.html')
-rw-r--r-- | dom/tests/mochitest/gamepad/test_check_timestamp_iframe.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dom/tests/mochitest/gamepad/test_check_timestamp_iframe.html b/dom/tests/mochitest/gamepad/test_check_timestamp_iframe.html new file mode 100644 index 0000000000..ca99c26746 --- /dev/null +++ b/dom/tests/mochitest/gamepad/test_check_timestamp_iframe.html @@ -0,0 +1,71 @@ +<!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +<!DOCTYPE HTML> +<html> +<head> + <title>Test Gamepad.timestamp</title> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<script type="text/javascript" src="mock_gamepad.js"></script> +<script class="testbody" type="text/javascript"> + +let ok = window.parent.ok; +let is = window.parent.is; +let SimpleTest = window.parent.SimpleTest; +let SpecialPowers = window.parent.SpecialPowers; + +window.addEventListener("gamepadbuttondown", buttonpresshandler); + +var index; +var timea=0; +var firstPress = true; +var testOver = false; + +runGamepadTest(checkTimestamp); + +async function checkTimestamp(){ + const index = await GamepadService.addGamepad("test gamepad 1", + GamepadService.standardMapping, + GamepadService.noHand, + 4, + 2, + 0, + 0, + 0); + + // Press a button to make the gamepad visible + // to the page. + await GamepadService.newButtonEvent(index, 0, true, true); + await GamepadService.newButtonEvent(index, 0, true, true); + ok(true, "test"); +} + +function cleanup(){ + SpecialPowers.executeSoon(async function() { + await GamepadService.removeGamepad(index); + SimpleTest.finish(); + }); +} + +async function buttonpresshandler(e) { + if (testOver) { + return; + } + if (timea == 0){ + timea = e.gamepad.timestamp; + } else { + ok(timea <= e.gamepad.timestamp, "Timestamp less than last timestamp"); + } + await GamepadService.newButtonEvent(index, 0, false, false); + if (!firstPress) { + testOver = true; + SpecialPowers.executeSoon(cleanup); + } else { + firstPress = false; + } +} + +</script> +</body> +</html> |