| <!doctype html> |
| <meta charset=utf-8> |
| <title>idlharness test</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src="/resources/WebIDLParser.js"></script> |
| <script src="/resources/idlharness.js"></script> |
| |
| <pre id='untested_idl' style='display:none'> |
| [Global=Window, Exposed=Window] |
| interface Window { |
| }; |
| |
| [TreatNonObjectAsNull] |
| callback EventHandlerNonNull = any (Event event); |
| typedef EventHandlerNonNull? EventHandler; |
| |
| [NoInterfaceObject] |
| interface GlobalEventHandlers { |
| }; |
| Window implements GlobalEventHandlers; |
| |
| interface Navigator { |
| }; |
| |
| interface Element { |
| }; |
| |
| interface HTMLElement : Element { |
| }; |
| HTMLElement implements GlobalEventHandlers; |
| |
| interface Document { |
| }; |
| Document implements GlobalEventHandlers; |
| |
| interface MouseEvent { |
| }; |
| </pre> |
| |
| <script> |
| promise_test(async function() { |
| const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); |
| const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text()); |
| const idl = await fetch('/interfaces/pointerevents.idl').then(r => r.text()); |
| |
| const idl_array = new IdlArray(); |
| idl_array.add_untested_idls(dom, { only: ['EventInit'] }); |
| idl_array.add_untested_idls(uievents, { only: [ |
| 'UIEventInit', |
| 'MouseEventInit', |
| 'EventModifierInit'] |
| }); |
| idl_array.add_untested_idls( |
| document.getElementById("untested_idl").textContent); |
| idl_array.add_idls(document.getElementById("idl").textContent); |
| |
| // Note that I don't bother including Document here because there are still |
| // a bunch of differences between browsers around Document vs HTMLDocument. |
| idl_array.add_objects({ |
| Window: ["window"], |
| Navigator: ["navigator"] |
| }); |
| idl_array.test(); |
| }, 'pointerevents interfaces'); |
| </script> |