Unreviewed, fix test failures after r239698.
[WebKit-https.git] / LayoutTests / gamepad / gamepad-timestamp.html
1 <head>
2 <script>
3
4 if (window.testRunner) {
5     testRunner.dumpAsText();
6     testRunner.waitUntilDone();
7 }
8
9 function log(msg)
10 {
11     document.getElementById("logger").innerHTML += msg + "<br>";
12 }
13
14 function finishTest()
15 {
16     if (testRunner)
17         testRunner.notifyDone();
18 }
19
20 var rafCount = 0;
21 var increasingTimestampsSeen = 0;
22 var timestamp = 0;
23 var gamepad2Timestamp = -1;
24
25 function rafCallback()
26 {
27     var gamepad = navigator.getGamepads()[0];
28     var gamepad2 = navigator.getGamepads()[1];
29
30     if (gamepad2Timestamp == -1)
31         gamepad2Timestamp = gamepad2.timestamp;
32
33     if (gamepad2Timestamp != gamepad2.timestamp) {
34         log("Timestamp of gamepad 2 should never change throughout this test, but it did!");
35         finishTest();
36     }
37
38     if (gamepad.timestamp < timestamp) {
39         log("Timestamp on gamepad is " + gamepad.timestamp + " which is less than " + timestamp);
40         finishTest();
41     }
42
43     if (gamepad.timestamp > timestamp)
44         ++increasingTimestampsSeen;
45
46     if (increasingTimestampsSeen == 10) {
47         log("Increasing timestamp values seen for 10 RAF cycles");
48         finishTest();
49     }
50
51     if (++rafCount == 120) {
52         log("Went 120 RAF cycles without seeing 10 increasing timestamp values... yikes!");
53         log("Number of actual timestamp increases seen: " + increasingTimestampsSeen);
54         finishTest();
55     }
56
57     timestamp = gamepad.timestamp;
58
59     if (gamepad.buttons[0] == 1.0)
60         testRunner.setMockGamepadButtonValue(0, 0, 0.0);
61     else
62         testRunner.setMockGamepadButtonValue(0, 0, 1.0);
63     
64     requestAnimationFrame(rafCallback);
65 }
66
67 function handleGamepadConnect()
68 {
69     requestAnimationFrame(rafCallback);
70 }
71
72 function runTest() {
73     addEventListener("gamepadconnected", handleGamepadConnect);
74
75     testRunner.setMockGamepadDetails(0, "Test Joystick", 2, 2);
76     testRunner.setMockGamepadAxisValue(0, 0, 0.7);
77     testRunner.setMockGamepadAxisValue(0, 1, -1.0);
78     testRunner.setMockGamepadButtonValue(0, 0, 1.0);
79     testRunner.setMockGamepadButtonValue(0, 1, 1.0);
80     testRunner.connectMockGamepad(0);
81     testRunner.setMockGamepadDetails(1, "Test Joystick 2", 2, 2);
82     testRunner.setMockGamepadAxisValue(1, 0, 0.7);
83     testRunner.setMockGamepadAxisValue(1, 1, -1.0);
84     testRunner.setMockGamepadButtonValue(1, 0, 1.0);
85     testRunner.setMockGamepadButtonValue(1, 1, 1.0);
86     testRunner.connectMockGamepad(1);
87 }
88
89 </script>
90 </head>
91 <body onload="runTest();">
92 <div id="logger"></div>
93 </body>