| 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 __CONTROLPATH = "control"; |
| var __PROTOCOL = "echo"; |
| var __PROTOCOLS = ["echo", "chat"]; |
| var __REPEATED__PROTOCOLS = ["echo", "echo"]; |
| var __URL; |
| var __IS__WEBSOCKET; |
| var __PASS = "Pass"; |
| var __FAIL = "Fail"; |
| var wsocket; |
| var csocket; |
| var data; |
| |
| // variables for testing Close Browser/Navigate Away scenarios |
| var isAssociated = false; |
| var guid; |
| var dataReceived; |
| var closeCode; |
| var urlToOpen; |
| |
| function IsWebSocket() { |
| if (!window.WebSocket) { |
| assert_true(false, "Browser does not support WebSocket"); |
| } |
| } |
| |
| function CreateWebSocketNonAbsolute() { |
| IsWebSocket(); |
| __URL = __SERVER__NAME; |
| wsocket = new WebSocket(__URL); |
| } |
| |
| function CreateWebSocketNonWsScheme() { |
| IsWebSocket(); |
| __URL = "http://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH; |
| wsocket = new WebSocket(__URL); |
| } |
| |
| function CreateWebSocketNonAsciiProtocol(nonAsciiProtocol) { |
| IsWebSocket(); |
| __URL = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH; |
| wsocket = new WebSocket(__URL, nonAsciiProtocol); |
| } |
| |
| function CreateWebSocketWithBlockedPort(blockedPort) { |
| IsWebSocket(); |
| __URL = "wss://" + __SERVER__NAME + ":" + blockedPort + "/" + __PATH; |
| wsocket = new WebSocket(__URL); |
| } |
| |
| function CreateWebSocketWithSpaceInUrl(urlWithSpace) { |
| IsWebSocket(); |
| __URL = "ws://" + urlWithSpace + ":" + __PORT + "/" + __PATH; |
| wsocket = new WebSocket(__URL); |
| } |
| |
| function CreateWebSocketWithSpaceInProtocol(protocolWithSpace) { |
| IsWebSocket(); |
| __URL = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH; |
| wsocket = new WebSocket(__URL, protocolWithSpace); |
| } |
| |
| function CreateWebSocketWithRepeatedProtocols() { |
| IsWebSocket(); |
| __URL = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH; |
| wsocket = new WebSocket(__URL, __REPEATED__PROTOCOLS); |
| } |
| |
| function CreateWebSocket(isSecure, isProtocol, isProtocols) { |
| IsWebSocket(); |
| 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, __PROTOCOL); |
| } |
| else if (isProtocols) { |
| wsocket = new WebSocket(__URL, __PROTOCOLS); |
| } |
| else { |
| wsocket = new WebSocket(__URL); |
| } |
| return wsocket; |
| } |
| |
| function CreateControlWebSocket(isSecure) { |
| IsWebSocket(); |
| if (isSecure) { |
| __URL = "wss://" + __SERVER__NAME + ":" + __SECURE__PORT + "/" + __CONTROLPATH; |
| } |
| else { |
| __URL = "ws://" + __SERVER__NAME + ":" + __PORT + "/" + __CONTROLPATH; |
| } |
| |
| csocket = new WebSocket(__URL); |
| return csocket; |
| } |
| |