blob: af259f6a791ef9a9bd6c9647638735fe0a94ee04 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
</head>
<body>
<div id="description"></div>
<div id="console"></div>
<script type="text/javascript">
description("WebSocket.protocol should not be modified.");
window.jsTestIsAsync = true;
var ws = new WebSocket("ws://127.0.0.1:8880/accept-first-subprotocol", "chat");
var closeEvent;
shouldBeEqualToString("ws.protocol", "");
ws.protocol = "superchat";
shouldBeEqualToString("ws.protocol", "");
ws.onopen = function()
{
debug("Connected");
shouldBeEqualToString("ws.protocol", "chat");
ws.protocol = "superchat";
shouldBeEqualToString("ws.protocol", "chat");
};
ws.onclose = function(event)
{
debug("Closed");
shouldBeEqualToString("ws.protocol", "chat");
ws.protocol = "superchat";
shouldBeEqualToString("ws.protocol", "chat");
closeEvent = event;
shouldBeTrue("closeEvent.wasClean");
setTimeout("checkAfterOnClose()", 0);
};
function checkAfterOnClose()
{
debug("Exited onclose handler");
shouldBeEqualToString("ws.protocol", "chat");
ws.protocol = "superchat";
shouldBeEqualToString("ws.protocol", "chat");
finishJSTest();
}
</script>
</body>
</html>