chromium/third_party/blink/web_tests/http/tests/websocket/url-with-query.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("Make sure handshake with URL with query components success.");

window.jsTestIsAsync = true;

var url = "ws://127.0.0.1:8880/echo-path?q=v";
var handshake_success = false;
var path;
var expected_path = "/echo-path?q=v";

function endTest()
{
    clearTimeout(timeoutID);
    shouldBeTrue("handshake_success");
    shouldBe("path", "expected_path");
    finishJSTest();
}

debug("url=" + url);
var ws = new WebSocket(url);
ws.onopen = function () {
    debug("WebSocket is open");
    handshake_success = true;
};
ws.onmessage = function (evt) {
    path = evt.data;
    debug("received:" + path);
    ws.close();
};
ws.onclose = function () {
    debug("WebSocket is closed");
    endTest();
};
var timeoutID = setTimeout("endTest()", 2000);

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