chromium/third_party/blink/web_tests/http/tests/websocket/no-subprotocol.html

<!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's protocol attribute should be an empty string if the server did not provide Sec-WebSocket-Protocol header.");

window.jsTestIsAsync = true;

var ws = new WebSocket("ws://127.0.0.1:8880/simple");
var closeEvent;

shouldBeEqualToString("ws.protocol", "");

ws.onopen = function()
{
    debug("Connected");
    shouldBeEqualToString("ws.protocol", "");
};

ws.onclose = function(event)
{
    debug("Closed");
    shouldBeEqualToString("ws.protocol", "");
    closeEvent = event;
    shouldBeTrue("closeEvent.wasClean");
    setTimeout("checkAfterOnClose()", 0);
};

function checkAfterOnClose()
{
    debug("Exited onclose handler");
    shouldBeEqualToString("ws.protocol", "");
    finishJSTest();
}

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