| <!doctype html> | |
| <title>Web Sockets IDL tests</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> | |
| <h1>Web Sockets IDL tests</h1> | |
| <div id=log></div> | |
| <script type=text/plain> | |
| enum BinaryType { "blob", "arraybuffer" }; | |
| [Constructor(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=Window,Worker] | |
| interface WebSocket : EventTarget { | |
| readonly attribute DOMString url; | |
| // ready state | |
| const unsigned short CONNECTING = 0; | |
| const unsigned short OPEN = 1; | |
| const unsigned short CLOSING = 2; | |
| const unsigned short CLOSED = 3; | |
| readonly attribute unsigned short readyState; | |
| readonly attribute unsigned long bufferedAmount; | |
| // networking | |
| attribute EventHandler onopen; | |
| attribute EventHandler onerror; | |
| attribute EventHandler onclose; | |
| readonly attribute DOMString extensions; | |
| readonly attribute DOMString protocol; | |
| void close([Clamp] optional unsigned short code, optional DOMString reason); | |
| // messaging | |
| attribute EventHandler onmessage; | |
| attribute BinaryType binaryType; | |
| void send(DOMString data); | |
| void send(Blob data); | |
| void send(ArrayBuffer data); | |
| void send(ArrayBufferView data); | |
| }; | |
| [Constructor(DOMString type, optional CloseEventInit eventInitDict), Exposed=Window,Worker] | |
| interface CloseEvent : Event { | |
| readonly attribute boolean wasClean; | |
| readonly attribute unsigned short code; | |
| readonly attribute DOMString reason; | |
| }; | |
| dictionary CloseEventInit : EventInit { | |
| boolean wasClean; | |
| unsigned short code; | |
| DOMString reason; | |
| }; | |
| [TreatNonCallableAsNull] | |
| callback EventHandlerNonNull = any (Event event); | |
| typedef EventHandlerNonNull? EventHandler; | |
| </script> | |
| <script> | |
| "use strict"; | |
| var idlArray; | |
| setup(function() { | |
| idlArray = new IdlArray(); | |
| [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) { | |
| if (node.className == "untested") { | |
| idlArray.add_untested_idls(node.textContent); | |
| } else { | |
| idlArray.add_idls(node.textContent); | |
| } | |
| }); | |
| }, {explicit_done:true}); | |
| window.onload = function() { | |
| idlArray.add_objects({ | |
| WebSocket: ['new WebSocket("ws://foo")'], | |
| }); | |
| idlArray.test(); | |
| done(); | |
| }; | |
| </script> |