Chromium Code Reviews| Index: LayoutTests/gamepad/gamepad-api.html |
| diff --git a/LayoutTests/gamepad/gamepad-api.html b/LayoutTests/gamepad/gamepad-api.html |
| index cac387458fd9b2b3557679591b14e090ed6d366a..c2eaa09f1f3a817be1e07a662cc521241e6be39f 100644 |
| --- a/LayoutTests/gamepad/gamepad-api.html |
| +++ b/LayoutTests/gamepad/gamepad-api.html |
| @@ -2,8 +2,66 @@ |
| <body> |
| <script src="../resources/js-test.js"></script> |
| <script> |
| + description("Validates the exposed Gamepad API.") |
| + |
| shouldBeDefined("navigator.webkitGetGamepads"); |
| shouldBeDefined("navigator.getGamepads"); |
| + shouldBeDefined("GamepadEvent"); |
| + |
| + webkitGamepads = navigator.webkitGetGamepads(); |
| + shouldBe("webkitGamepads.length", "4"); |
| + shouldBeUndefined("webkitGamepads[0]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(webkitGamepads.item)", "[object Function]") |
|
Inactive
2014/03/29 00:26:35
shouldBe("webkitGamepads.item.__proto__", "Functio
kbalazs
2014/03/31 01:49:08
Done.
|
| + shouldBeNull("webkitGamepads.item(0)"); |
| + |
| + gamepads = navigator.getGamepads(); |
| + shouldBe("gamepads.length", "4"); |
| + shouldBeUndefined("gamepads[0]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepads.item)", "[object Function]"); |
|
Inactive
2014/03/29 00:26:35
Ditto.
kbalazs
2014/03/31 01:49:08
Done.
|
| + shouldBeNull("gamepads.item(0)"); |
| + |
| + if (window.gamepadController) |
| + { |
| + gamepadController.connect(0); |
| + gamepadController.setId(0, "MockStick 3000"); |
| + gamepadController.setButtonCount(0, 1); |
| + gamepadController.setAxisCount(0, 1); |
| + |
| + function checkProperties(isPrefixed) { |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.id)", "[object String]"); |
|
Inactive
2014/03/29 00:26:35
You could use __proto__ for those JS builtin types
kbalazs
2014/03/31 01:49:08
Done.
|
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.connected)", "[object Boolean]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.index)", "[object Number]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.timestamp)", "[object Number]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.axes)", "[object Array]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.axes[0])", "[object Number]"); |
| + |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.buttons)", "[object Array]"); |
| + if (isPrefixed) { |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.buttons[0])", "[object Number]"); |
| + } else { |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.buttons[0].pressed)", "[object Boolean]"); |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.buttons[0].value)", "[object Number]"); |
| + } |
| + |
| + if (!isPrefixed) |
| + shouldBeEqualToString("Object.prototype.toString.call(gamepad.mapping)", "[object String]"); |
| + } |
| + |
| + gamepad = navigator.webkitGetGamepads()[0]; |
| + shouldBeNonNull("gamepad"); |
| + shouldBeTrue("gamepad.connected") |
| + shouldBe("gamepad.__proto__", "WebKitGamepad.prototype"); |
| + checkProperties(true); |
| + |
| + gamepad = navigator.getGamepads()[0]; |
| + shouldBeNonNull("gamepad"); |
| + shouldBeTrue("gamepad.connected"); |
| + shouldBe("gamepad.__proto__", "Gamepad.prototype"); |
| + checkProperties(false); |
| + } |
| + else |
| + { |
| + testFailed("no gamepadController available."); |
| + } |
| </script> |
| -<p>Make sure the main polling access point exists on navigator.</p> |
| </body> |