<!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("Handshake error test");

window.jsTestIsAsync = true;

function endTest()
{
    clearTimeout(timeoutID);
    finishJSTest();
}

var ws = new WebSocket("ws://127.0.0.1:8880/handshake-error");

ws.onopen = function()
{
    testFailed("Unexpectedly Connected.");
};

ws.onmessage = function(messageEvent)
{
    testFailed("Unexpectedly Received: '" + messageEvent.data + "'");
};

ws.onclose = function()
{
    debug("Closed.");
    shouldBe("ws.readyState", "3")
    endTest();
};

ws.onerror = function(errorEvent)
{
    testPassed("onerror() was called");
};

function timeOutCallback()
{
    testFailed("Timed out in state: " + ws.readyState);
    endTest();
}

var timeoutID = setTimeout(timeOutCallback, 3000);

</script>
</body>
</html>
