| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <body> | 2 <body> |
| 3 <script src="../resources/js-test.js"></script> | 3 <script src="../resources/js-test.js"></script> |
| 4 <script> | 4 <script> |
| 5 if (window.gamepadController) | 5 if (window.gamepadController) |
| 6 { | 6 { |
| 7 // start all disconnected | 7 // start all disconnected |
| 8 gamepadController.disconnect(0); | 8 gamepadController.disconnect(0); |
| 9 gamepadController.disconnect(1); | 9 gamepadController.disconnect(1); |
| 10 gamepadController.disconnect(2); | 10 gamepadController.disconnect(2); |
| 11 gamepadController.disconnect(3); | 11 gamepadController.disconnect(3); |
| 12 shouldBe("navigator.webkitGetGamepads().length", "4"); | 12 shouldBe("navigator.webkitGetGamepads().length", "4"); |
| 13 shouldBeNull("navigator.webkitGetGamepads().item(0)"); | 13 shouldBeNull("navigator.webkitGetGamepads().item(0)"); |
| 14 shouldBeNull("navigator.webkitGetGamepads().item(1)"); | 14 shouldBeNull("navigator.webkitGetGamepads().item(1)"); |
| 15 shouldBeNull("navigator.webkitGetGamepads().item(2)"); | 15 shouldBeNull("navigator.webkitGetGamepads().item(2)"); |
| 16 shouldBeNull("navigator.webkitGetGamepads().item(3)"); | 16 shouldBeNull("navigator.webkitGetGamepads().item(3)"); |
| 17 shouldBeUndefined("navigator.webkitGetGamepads()[0]"); | 17 shouldBeUndefined("navigator.webkitGetGamepads()[0]"); |
| 18 shouldBeUndefined("navigator.webkitGetGamepads()[1]"); | 18 shouldBeUndefined("navigator.webkitGetGamepads()[1]"); |
| 19 shouldBeUndefined("navigator.webkitGetGamepads()[2]"); | 19 shouldBeUndefined("navigator.webkitGetGamepads()[2]"); |
| 20 shouldBeUndefined("navigator.webkitGetGamepads()[3]"); | 20 shouldBeUndefined("navigator.webkitGetGamepads()[3]"); |
| 21 | 21 |
| 22 shouldBe("navigator.getGamepads().length", "4"); | 22 shouldBeType("navigator.getGamepads()", "Array"); |
| 23 shouldBeNull("navigator.getGamepads().item(0)"); | 23 shouldBe("navigator.getGamepads().length", "0"); |
| 24 shouldBeNull("navigator.getGamepads().item(1)"); | 24 shouldBeFalse("navigator.getGamepads().hasOwnProperty(0)"); |
| 25 shouldBeNull("navigator.getGamepads().item(2)"); | 25 shouldBeFalse("navigator.getGamepads().hasOwnProperty(1)"); |
| 26 shouldBeNull("navigator.getGamepads().item(3)"); | |
| 27 shouldBeUndefined("navigator.getGamepads()[0]"); | |
| 28 shouldBeUndefined("navigator.getGamepads()[1]"); | |
| 29 shouldBeUndefined("navigator.getGamepads()[2]"); | |
| 30 shouldBeUndefined("navigator.getGamepads()[3]"); | |
| 31 | 26 |
| 32 // connect and disconnect | 27 // connect and disconnect |
| 33 gamepadController.connect(0); | 28 gamepadController.connect(0); |
| 34 shouldBeNonNull("navigator.webkitGetGamepads()[0]"); | 29 shouldBeNonNull("navigator.webkitGetGamepads()[0]"); |
| 35 shouldBeNonNull("navigator.getGamepads()[0]"); | 30 shouldBe("navigator.getGamepads().length", "1"); |
| 31 shouldBeTrue("navigator.getGamepads().hasOwnProperty(0)"); |
| 32 shouldBeType("navigator.getGamepads()[0]", "Gamepad"); |
| 33 shouldBe("navigator.getGamepads()[0].index", "0"); |
| 34 shouldBeFalse("navigator.getGamepads().hasOwnProperty(1)"); |
| 35 gamepadController.connect(1); |
| 36 shouldBeNonNull("navigator.webkitGetGamepads()[0]"); |
| 37 shouldBeNonNull("navigator.webkitGetGamepads()[1]"); |
| 38 shouldBe("navigator.getGamepads().length", "2"); |
| 39 shouldBeTrue("navigator.getGamepads().hasOwnProperty(0)"); |
| 40 shouldBeType("navigator.getGamepads()[0]", "Gamepad"); |
| 41 shouldBe("navigator.getGamepads()[0].index", "0"); |
| 42 shouldBeTrue("navigator.getGamepads().hasOwnProperty(1)"); |
| 43 shouldBeType("navigator.getGamepads()[1]", "Gamepad"); |
| 44 shouldBe("navigator.getGamepads()[1].index", "1"); |
| 36 gamepadController.disconnect(0); | 45 gamepadController.disconnect(0); |
| 37 shouldBeNull("navigator.webkitGetGamepads().item(0)"); | 46 shouldBeNull("navigator.webkitGetGamepads().item(0)"); |
| 38 shouldBeUndefined("navigator.webkitGetGamepads()[0]"); | 47 shouldBeUndefined("navigator.webkitGetGamepads()[0]"); |
| 39 shouldBeNull("navigator.getGamepads().item(0)"); | 48 shouldBe("navigator.getGamepads().length", "2"); |
| 40 shouldBeUndefined("navigator.getGamepads()[0]"); | 49 shouldBeTrue("navigator.getGamepads().hasOwnProperty(0)"); // FIXME |
| 50 shouldBeNull("navigator.getGamepads()[0]"); // FIXME |
| 51 shouldBeTrue("navigator.getGamepads().hasOwnProperty(1)"); |
| 52 shouldBeType("navigator.getGamepads()[1]", "Gamepad"); |
| 53 shouldBe("navigator.getGamepads()[1].index", "1"); |
| 54 gamepadController.disconnect(1); |
| 55 shouldBeNull("navigator.webkitGetGamepads().item(0)"); |
| 56 shouldBeUndefined("navigator.webkitGetGamepads()[0]"); |
| 57 shouldBe("navigator.getGamepads().length", "0"); |
| 58 shouldBeFalse("navigator.getGamepads().hasOwnProperty(0)"); |
| 59 shouldBeFalse("navigator.getGamepads().hasOwnProperty(1)"); |
| 41 | 60 |
| 42 // connect again, and check standard access | 61 // connect again, and check standard access |
| 43 gamepadController.connect(0); | 62 gamepadController.connect(0); |
| 44 gamepadController.setId(0, "MockStick 3000"); | 63 gamepadController.setId(0, "MockStick 3000"); |
| 45 gamepadController.setButtonCount(0, 2); | 64 gamepadController.setButtonCount(0, 2); |
| 46 gamepadController.setAxisCount(0, 2); | 65 gamepadController.setAxisCount(0, 2); |
| 47 gamepadController.setButtonData(0, 0, 1); | 66 gamepadController.setButtonData(0, 0, 1); |
| 48 gamepadController.setButtonData(0, 1, 0); | 67 gamepadController.setButtonData(0, 1, 0); |
| 49 gamepadController.setAxisData(0, 0, .5); | 68 gamepadController.setAxisData(0, 0, .5); |
| 50 gamepadController.setAxisData(0, 1, -1.0); | 69 gamepadController.setAxisData(0, 1, -1.0); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 68 shouldBe("navigator.getGamepads()[0].axes[0]", "0.5"); | 87 shouldBe("navigator.getGamepads()[0].axes[0]", "0.5"); |
| 69 shouldBe("navigator.getGamepads()[0].axes[1]", "-1.0"); | 88 shouldBe("navigator.getGamepads()[0].axes[1]", "-1.0"); |
| 70 } | 89 } |
| 71 else | 90 else |
| 72 { | 91 { |
| 73 console.log("FAIL: no gamepadController available.") | 92 console.log("FAIL: no gamepadController available.") |
| 74 } | 93 } |
| 75 </script> | 94 </script> |
| 76 <p>Typical polling access to gamepads contents.</p> | 95 <p>Typical polling access to gamepads contents.</p> |
| 77 </body> | 96 </body> |
| OLD | NEW |