Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(610)

Side by Side Diff: LayoutTests/gamepad/gamepad-api.html

Issue 212813008: Gamepad API: tests for gamepad events (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: cleanups Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 description("Validates the exposed Gamepad API.")
6
5 shouldBeDefined("navigator.webkitGetGamepads"); 7 shouldBeDefined("navigator.webkitGetGamepads");
6 shouldBeDefined("navigator.getGamepads"); 8 shouldBeDefined("navigator.getGamepads");
9 shouldBeDefined("GamepadEvent");
10
11 webkitGamepads = navigator.webkitGetGamepads();
12 shouldBeEqualToString("Object.prototype.toString.call(webkitGamepads)", "[ob ject WebKitGamepadList]");
13 shouldBe("webkitGamepads.length", "4");
14 shouldBeUndefined("webkitGamepads[0]");
15 shouldBeEqualToString("Object.prototype.toString.call(webkitGamepads.item)", "[object Function]")
16 shouldBeNull("webkitGamepads.item(0)");
17
18 gamepads = navigator.getGamepads();
19 shouldBeEqualToString("Object.prototype.toString.call(gamepads)", "[object G amepadList]");
20 shouldBe("gamepads.length", "4");
21 shouldBeUndefined("gamepads[0]");
22 shouldBeEqualToString("Object.prototype.toString.call(gamepads.item)", "[obj ect Function]");
23 shouldBeNull("gamepads.item(0)");
24
25 if (window.gamepadController)
26 {
27 shouldNotThrow("window.addEventListener('gamepadconnected', function(){} , false)");
Inactive 2014/03/27 13:27:24 I don't believe addEventListener can ever throw.
kbalazs 2014/03/28 23:24:12 No, not really. Removed the events from this test.
28 shouldNotThrow("window.addEventListener('gamepaddisconnected', function( ){}, false)");
Inactive 2014/03/27 13:27:24 Ditto.
kbalazs 2014/03/28 23:24:12 Done.
29
30 gamepadController.connect(0);
31 gamepadController.setId(0, "MockStick 3000");
32 gamepadController.setButtonCount(0, 1);
33 gamepadController.setAxisCount(0, 1);
34
35 function checkProperties(isPrefixed) {
36 if (isPrefixed)
37 shouldBeEqualToString("Object.prototype.toString.call(gamepad)", "[object WebKitGamepad]");
Inactive 2014/03/27 13:27:24 This test relies a lot on the String serialization
kbalazs 2014/03/28 23:24:12 Using __proto__ where possible and not checking no
38 else
39 shouldBeEqualToString("Object.prototype.toString.call(gamepad)", "[object Gamepad]");
40
41 shouldBeEqualToString("Object.prototype.toString.call(gamepad.id)", "[object String]");
42 shouldBeEqualToString("Object.prototype.toString.call(gamepad.connec ted)", "[object Boolean]");
43 shouldBeEqualToString("Object.prototype.toString.call(gamepad.index) ", "[object Number]");
44 shouldBeEqualToString("Object.prototype.toString.call(gamepad.timest amp)", "[object Number]");
45 shouldBeEqualToString("Object.prototype.toString.call(gamepad.axes)" , "[object Array]");
46 shouldBeEqualToString("Object.prototype.toString.call(gamepad.axes[0 ])", "[object Number]");
47
48 shouldBeEqualToString("Object.prototype.toString.call(gamepad.button s)", "[object Array]");
49 if (isPrefixed) {
50 shouldBeEqualToString("Object.prototype.toString.call(gamepad.bu ttons[0])", "[object Number]");
51 } else {
52 shouldBeEqualToString("Object.prototype.toString.call(gamepad.bu ttons[0])", "[object GamepadButton]");
53 shouldBeEqualToString("Object.prototype.toString.call(gamepad.bu ttons[0].pressed)", "[object Boolean]");
54 shouldBeEqualToString("Object.prototype.toString.call(gamepad.bu ttons[0].value)", "[object Number]");
55 }
56
57 if (!isPrefixed)
58 shouldBeEqualToString("Object.prototype.toString.call(gamepad.ma pping)", "[object String]");
59 }
60
61 gamepad = navigator.webkitGetGamepads()[0];
62 shouldBeNonNull("gamepad");
63 shouldBeTrue("gamepad.connected")
64 checkProperties(true);
65
66 gamepad = navigator.getGamepads()[0];
67 shouldBeNonNull("gamepad");
68 shouldBeTrue("gamepad.connected");
69 checkProperties(false);
70 }
71 else
72 {
73 testFailed("no gamepadController available.");
74 }
7 </script> 75 </script>
8 <p>Make sure the main polling access point exists on navigator.</p>
9 </body> 76 </body>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/gamepad/gamepad-api-expected.txt » ('j') | LayoutTests/gamepad/gamepad-events-basic.html » ('J')

Powered by Google App Engine
This is Rietveld 408576698