<!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 handshake fails if the server sends mismatched Sec-WebSocket-Protocol header.");

window.jsTestIsAsync = true;

var url = "ws://localhost:8880/handshake-fail-by-mismatch-protocol-header";
var closeEvent;
var ws;
var protocolCase = ["", "MatchProtocol", ["MatchProtocol1", "MatchProtocol2"]];

function doTest(index)
{
    if (protocolCase[index] === "")
        ws = new WebSocket(url);
    else
        ws = new WebSocket(url, protocolCase[index]);

    ws.onopen = function()
    {
        testFailed("Connection established.");
        ws.close();
    };

    ws.onclose = function(event)
    {
        closeEvent = event;
        shouldBeFalse("closeEvent.wasClean");
        if (index === protocolCase.length - 1) {
            finishJSTest();
            return;
        }
        doTest(index + 1);        
    };

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

doTest(0);

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