| <!doctype html> | |
| <html> | |
| <head> | |
| <title>Manual Gamepad IDL tests</title> | |
| <link rel="help" href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#gamepad-interface"> | |
| <link rel="help" href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#gamepadbutton-interface"> | |
| <link rel="help" href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#gamepadevent-interface"> | |
| <link rel="help" href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#navigator-interface-extension"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/WebIDLParser.js"></script> | |
| <script src="/resources/idlharness.js"></script> | |
| <script> | |
| setup({explicit_done: true, explicit_timeout: true}); | |
| addEventListener("gamepadconnected", function (e) { | |
| var idl_array = new IdlArray(); | |
| idl_array.add_untested_idls(document.getElementById("untested_idl").textContent); | |
| idl_array.add_idls(document.getElementById("idl").textContent); | |
| idl_array.add_objects({ | |
| GamepadEvent: [e], | |
| Gamepad: [e.gamepad], | |
| GamepadButton: [e.gamepad.buttons[0]], | |
| Navigator: ["navigator"], | |
| }); | |
| idl_array.test(); | |
| done(); | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| <pre id="untested_idl" style="display: none"> | |
| interface Navigator { | |
| }; | |
| interface Event { | |
| }; | |
| </pre> | |
| <pre id="idl" style="display: none"> | |
| interface Gamepad { | |
| readonly attribute DOMString id; | |
| readonly attribute long index; | |
| readonly attribute boolean connected; | |
| readonly attribute DOMHighResTimeStamp timestamp; | |
| readonly attribute GamepadMappingType mapping; | |
| readonly attribute double[] axes; | |
| readonly attribute GamepadButton[] buttons; | |
| }; | |
| enum GamepadMappingType { | |
| "", | |
| "standard" | |
| }; | |
| interface GamepadButton { | |
| readonly attribute boolean pressed; | |
| readonly attribute double value; | |
| }; | |
| [Constructor(DOMString type, optional GamepadEventInit eventInitDict)] | |
| interface GamepadEvent : Event | |
| { | |
| readonly attribute Gamepad? gamepad; | |
| }; | |
| dictionary GamepadEventInit : EventInit | |
| { | |
| Gamepad? gamepad = null; | |
| }; | |
| partial interface Navigator { | |
| Gamepad[] getGamepads(); | |
| }; | |
| </pre> | |
| <p id="instructions">This test requires a gamepad. Connect one and press any button to start the test.</p> | |
| <div id="log"></div> | |
| </body> | |
| </html> |