4 <script src=
"/js-test-resources/js-test.js"></script>
7 <div id=
"description"></div>
8 <div id=
"console"></div>
9 <script type=
"text/javascript">
10 description("Test WebSocket subprotocol negotiation.");
12 window
.jsTestIsAsync
= true;
14 var ws
= new WebSocket("ws://127.0.0.1:8880/protocol-test?protocol=superchat", ["chat", "superchat"]);
18 shouldBeEqualToString("ws.protocol", "");
20 ws
.onopen = function()
23 shouldBeEqualToString("ws.protocol", "superchat");
26 ws
.onmessage = function(event
)
28 receivedMessage
= event
.data
;
29 debug("Received: " + receivedMessage
);
30 shouldBeEqualToString("receivedMessage", "superchat");
33 ws
.onclose = function(event
)
36 shouldBeEqualToString("ws.protocol", "superchat");
38 shouldBeTrue("closeEvent.wasClean");
39 setTimeout("checkAfterOnClose()", 0);
42 function checkAfterOnClose()
44 debug("Exited onclose handler");
45 shouldBeEqualToString("ws.protocol", "superchat");