Test WebSocket bad sub-protocol names by non-ASCII chars. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS new WebSocket("ws://127.0.0.1:8880/simple", "") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\u007F' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "€") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\u0080' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "あ") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\u3042' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "￿") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\uFFFF' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\uFEFF' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "￾") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\uFFFE' is invalid.. PASS new WebSocket("ws://127.0.0.1:8880/simple", "𠀋") threw exception SyntaxError: Failed to construct 'WebSocket': The subprotocol '\uD840\uDC0B' is invalid.. PASS successfullyParsed is true TEST COMPLETE