<!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>