4 <script src="../../../../js-test-resources/js-test-pre.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;
13 if (window.layoutTestController)
14 layoutTestController.overridePreference("WebKitHixie76WebSocketProtocolEnabled", 0);
16 var ws = new WebSocket("ws://127.0.0.1:8880/websocket/tests/hybi/protocol-test?protocol=superchat", ["chat", "superchat"]);
20 shouldBeEqualToString("ws.protocol", "");
22 ws.onopen = function()
25 shouldBeEqualToString("ws.protocol", "superchat");
28 ws.onmessage = function(event)
30 receivedMessage = event.data;
31 debug("Received: " + receivedMessage);
32 shouldBeEqualToString("receivedMessage", "superchat");
35 ws.onclose = function(event)
38 shouldBeEqualToString("ws.protocol", "superchat");
40 shouldBeTrue("closeEvent.wasClean");
41 setTimeout("checkAfterOnClose()", 0);
44 function checkAfterOnClose()
46 debug("Exited onclose handler");
47 shouldBeEqualToString("ws.protocol", "superchat");
52 <script src="../../../../js-test-resources/js-test-post.js"></script>