diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/websockets/constants.sub.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/websockets/constants.sub.js')
-rw-r--r-- | testing/web-platform/tests/websockets/constants.sub.js | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/testing/web-platform/tests/websockets/constants.sub.js b/testing/web-platform/tests/websockets/constants.sub.js new file mode 100644 index 0000000000..65ea4f66f2 --- /dev/null +++ b/testing/web-platform/tests/websockets/constants.sub.js @@ -0,0 +1,100 @@ +const __SERVER__NAME = "{{host}}"; +const __PATH = "echo"; + +var __SCHEME; +var __PORT; +if (url_has_variant('wss')) { + __SCHEME = 'wss'; + __PORT = "{{ports[wss][0]}}"; +} else if (url_has_flag('h2')) { + __SCHEME = 'wss'; + __PORT = "{{ports[h2][0]}}"; +} else { + __SCHEME = 'ws'; + __PORT = "{{ports[ws][0]}}"; +} + +const SCHEME_DOMAIN_PORT = __SCHEME + '://' + __SERVER__NAME + ':' + __PORT; + +function url_has_variant(variant) { + const params = new URLSearchParams(location.search); + return params.get(variant) === ""; +} + +function url_has_flag(flag) { + const params = new URLSearchParams(location.search); + return params.getAll("wpt_flags").indexOf(flag) !== -1; +} + +function IsWebSocket() { + if (!self.WebSocket) { + assert_true(false, "Browser does not support WebSocket"); + } +} + +function CreateWebSocketNonAbsolute() { + IsWebSocket(); + const url = __SERVER__NAME; + return new WebSocket(url); +} + +function CreateWebSocketNonWsScheme() { + IsWebSocket(); + const url = "http://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH; + return new WebSocket(url); +} + +function CreateWebSocketNonAsciiProtocol(nonAsciiProtocol) { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + return new WebSocket(url, nonAsciiProtocol); +} + +function CreateWebSocketWithAsciiSep(asciiWithSep) { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + return new WebSocket(url, asciiWithSep); +} + +function CreateWebSocketWithBlockedPort(blockedPort) { + IsWebSocket(); + const url = __SCHEME + "://" + __SERVER__NAME + ":" + blockedPort + "/" + __PATH; + return new WebSocket(url); +} + +function CreateWebSocketWithSpaceInUrl(urlWithSpace) { + IsWebSocket(); + const url = __SCHEME + "://" + urlWithSpace + ":" + __PORT + "/" + __PATH; + return new WebSocket(url); +} + +function CreateWebSocketWithSpaceInProtocol(protocolWithSpace) { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + return new WebSocket(url, protocolWithSpace); +} + +function CreateWebSocketWithRepeatedProtocols() { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + return new WebSocket(url, ["echo", "echo"]); +} + +function CreateWebSocketWithRepeatedProtocolsCaseInsensitive() { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + wsocket = new WebSocket(url, ["echo", "eCho"]); +} + +function CreateWebSocket(isProtocol, isProtocols) { + IsWebSocket(); + const url = SCHEME_DOMAIN_PORT + "/" + __PATH; + + if (isProtocol) { + return new WebSocket(url, "echo"); + } + if (isProtocols) { + return new WebSocket(url, ["echo", "chat"]); + } + return new WebSocket(url); +} |