Index: LayoutTests/gamepad/gamepad-events-basic.html |
diff --git a/LayoutTests/gamepad/gamepad-events-basic.html b/LayoutTests/gamepad/gamepad-events-basic.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d4fd3eb2923b80445b2f70da24738fb8020aafe6 |
--- /dev/null |
+++ b/LayoutTests/gamepad/gamepad-events-basic.html |
@@ -0,0 +1,56 @@ |
+<!DOCTYPE html> |
+<body> |
+<script src="../resources/js-test.js"></script> |
+<script> |
+ description("Basic test for 'gamepadconnected' and 'gamepaddisconnected' events."); |
+ |
+ jsTestIsAsync = true; |
+ |
+ if (window.gamepadController) |
+ { |
+ function onConnected(event) { |
+ debug("Gamepad connected"); |
+ shouldBe("event.__proto__", "GamepadEvent.prototype"); |
+ shouldBe("event.__proto__.__proto__", "Event.prototype"); |
+ shouldBeEqualToString("event.gamepad.id", "MockStick 3000"); |
+ shouldBe("event.gamepad.buttons.length", "2"); |
+ shouldBe("event.gamepad.axes.length", "2"); |
+ shouldBe("event.gamepad.buttons[0].value", "1.0"); |
+ shouldBeTrue("event.gamepad.buttons[0].pressed"); |
+ shouldBe("event.gamepad.buttons[1].value", "0.0"); |
+ shouldBeFalse("event.gamepad.buttons[1].pressed"); |
+ shouldBe("event.gamepad.axes.length", "2"); |
+ shouldBe("event.gamepad.axes[0]", "0.5"); |
+ shouldBe("event.gamepad.axes[1]", "-1.0"); |
+ gamepadController.disconnect(0); |
+ } |
+ |
+ function onDisconnected(event) { |
+ debug("Gamepad disconnected"); |
+ shouldBe("event.__proto__", "GamepadEvent.prototype"); |
+ shouldBe("event.__proto__.__proto__", "Event.prototype"); |
+ shouldBeEqualToString("event.gamepad.id", "MockStick 3000"); |
+ shouldBe("event.gamepad.buttons.length", "2"); |
+ shouldBe("event.gamepad.axes.length", "2"); |
+ finishJSTest(); |
+ } |
+ |
+ window.addEventListener('gamepadconnected', onConnected); |
+ window.addEventListener('gamepaddisconnected', onDisconnected); |
+ |
+ gamepadController.connect(0); |
+ gamepadController.setId(0, "MockStick 3000"); |
+ gamepadController.setButtonCount(0, 2); |
+ gamepadController.setAxisCount(0, 2); |
+ gamepadController.setButtonData(0, 0, 1); |
+ gamepadController.setButtonData(0, 1, 0); |
+ gamepadController.setAxisData(0, 0, .5); |
+ gamepadController.setAxisData(0, 1, -1.0); |
+ gamepadController.dispatchConnected(0); |
+ } |
+ else |
+ { |
+ testFailed("no gamepadController available."); |
+ } |
+</script> |
+</body> |