chromium/third_party/blink/web_tests/http/tests/websocket/close-before-open.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<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("Test if WebSocket fires close event when WebSocket is opened and close() is called on it before open event is dispatched.");

window.jsTestIsAsync = true;

var urls = [
    "ws://127.0.0.1:8880/echo",
    "ws://127.0.0.1:8880/close-code-and-reason"
];

var testId = 0;

var test = function() {
    if (0 != testId)
        debug("closed on test " + testId);
    if (2 == testId)
        finishJSTest();
    else {
        ws = new WebSocket(urls[testId++]);
        ws.onclose = test;
        ws.close();
    }
};

test();

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