gecko-dev/testing/web-platform/tests/websockets/websocket.sub.js
Adam Rice 7e825b7579 Bug 1615968 [wpt PR 21829] - WebSockets: Fix Create-Secure-extensions-empty.any.js, a=testonly
Automatic update from web-platform-tests
WebSockets: Fix Create-Secure-extensions-empty.any.js (#21829)

The test websockets/Create-Secure-extensions-empty.any.js expects that
no extensions are enabled. However all modern browsers support the
"permessage-deflate" extension, making this test fail. Add a new handler
handshake_no_extensions_wsh.py which explicitly disables extensions use
it to make the test pass.

Also remove an irrelevant assert of "wasClean" which caused the test to
fail in Chrome.

Also remove the function CreateControlWebSocket() function from
websocket.sub.js which doesn't appear to ever have been used.

Fixes #19829.
--

wpt-commits: ceff4d5fe9565a408ca6acf9887c8612e668a2bc
wpt-pr: 21829
2020-02-21 10:44:51 +00:00

93 lines
2.7 KiB
JavaScript

var __SERVER__NAME = "{{host}}";
var __PORT = {{ports[ws][0]}};
var __SECURE__PORT = {{ports[wss][0]}};
var __NEW__PORT = __PORT; //All ports are non-default for now
var __NEW__SECURE__PORT = __SECURE__PORT; //All ports are non-default for now
var __PATH = "echo";
var wsocket;
var data;
function IsWebSocket() {
if (!self.WebSocket) {
assert_true(false, "Browser does not support WebSocket");
}
}
function CreateWebSocketNonAbsolute() {
IsWebSocket();
var url = __SERVER__NAME;
wsocket = new WebSocket(url);
}
function CreateWebSocketNonWsScheme() {
IsWebSocket();
var url = "http://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url);
}
function CreateWebSocketNonAsciiProtocol(nonAsciiProtocol) {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url, nonAsciiProtocol);
}
function CreateWebSocketWithAsciiSep(asciiWithSep) {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url, asciiWithSep);
}
function CreateWebSocketWithBlockedPort(blockedPort) {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + blockedPort + "/" + __PATH;
return new WebSocket(url);
}
function CreateWebSocketWithSpaceInUrl(urlWithSpace) {
IsWebSocket();
var url = "ws://" + urlWithSpace + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url);
}
function CreateWebSocketWithSpaceInProtocol(protocolWithSpace) {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url, protocolWithSpace);
}
function CreateWebSocketWithRepeatedProtocols() {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url, ["echo", "echo"]);
}
function CreateWebSocketWithRepeatedProtocolsCaseInsensitive() {
IsWebSocket();
var url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
wsocket = new WebSocket(url, ["echo", "eCho"]);
}
function CreateWebSocket(isSecure, isProtocol, isProtocols) {
IsWebSocket();
var url;
if (isSecure) {
if (__SECURE__PORT === null) {
throw new Error("wss not yet supported");
}
url = "wss://" + __SERVER__NAME + ":" + __SECURE__PORT + "/" + __PATH;
}
else {
url = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH;
}
if (isProtocol) {
wsocket = new WebSocket(url, "echo");
}
else if (isProtocols) {
wsocket = new WebSocket(url, ["echo", "chat"]);
}
else {
wsocket = new WebSocket(url);
}
return wsocket;
}