blob: c25f97c6ec5c76fa116eb61b7552174f56d66e6b [file] [log] [blame]
<!DOCTYPE html>
<script src="/js-test-resources/js-test.js"></script>
<script src="resources/get-request-header.js"></script>
<script>
description("Test WebSocket.extensions attribute.");
window.jsTestIsAsync = true;
var ws = new WebSocket(WS_ECHO_REQUEST_HEADERS_URL);
debug("Check the value before opening the connection:");
shouldBeEqualToString("ws.extensions", "");
// extensions attribute is read-only.
debug("Check if the value is read only:");
shouldBeEqualToString("ws.extensions = 'foo'; ws.extensions", "");
ws.onopen = function(event)
{
debug("Check the value after the connection is established:");
shouldBeEqualToString("ws.extensions", "permessage-deflate");
};
var extensions_requested;
ws.onmessage = function(event)
{
debug("Check the value of the Sec-WebSocket-Extensions header sent to the server:");
extensions_requested = getRequestHeaderFromEvent(event, "sec-websocket-extensions");
shouldBeEqualToString("extensions_requested", "permessage-deflate; client_max_window_bits");
finishJSTest();
};
</script>