blob: b346f97638e9230d7dd0d61d924fa14ae96010b6 [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>
description("Test whether WebSocket aborts the connection when it receives an unexpected encoding length frame.");
window.jsTestIsAsync = true;
var closeEvent;
var payload_extended = ["126_125", "126_0", "127_65535", "127_0"];
var totalTestSize = 4;
function doTest(curTest)
{
var url = "ws://127.0.0.1:8880/invalid-encode-length?case=" + payload_extended[curTest];
var ws = new WebSocket(url);
debug("Case " + payload_extended[curTest] + ": Test started.");
ws.onopen = function()
{
debug("onopen() was called.");
};
ws.onmessage = function(event)
{
var message = event.data;
testFailed("onmessage() was called. (message = \"" + message + "\")");
};
ws.onclose = function(event)
{
debug("onclose() was called.");
closeEvent = event;
shouldBeFalse("closeEvent.wasClean");
if (curTest == totalTestSize - 1)
finishJSTest();
else
doTest(curTest + 1);
};
ws.onerror = function(errorEvent)
{
testPassed("onerror() was called");
};
}
doTest(0);
</script>
</body>
</html>