OLD | NEW |
1 CONSOLE WARNING: line 124: WebSocket connection to 'ws://127.0.0.1:8880/close' f
ailed: WebSocket is closed before the connection is established. | 1 CONSOLE WARNING: line 100: WebSocket connection to 'ws://127.0.0.1:8880/close' f
ailed: WebSocket is closed before the connection is established. |
2 CONSOLE WARNING: line 165: WebSocket connection to 'ws://127.0.0.1:8880/close' f
ailed: WebSocket is closed before the connection is established. | 2 CONSOLE WARNING: line 169: WebSocket connection to 'ws://127.0.0.1:8880/close' f
ailed: WebSocket is closed before the connection is established. |
3 Verify WebSocket::close behaviors in Worker. | 3 Verify WebSocket::close behaviors in Worker. |
4 | 4 |
5 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". | 5 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". |
6 | 6 |
7 Invalid code test: 0 | 7 |
8 Code 999 must cause InvalidAccessError. | 8 Starting worker: resources/close.js |
9 PASS PASS: worker: exceptionName is invalidAccessErr | 9 [Worker] badCodesTest: started |
10 Invalid code test: 1 | 10 [Worker] badCodesTest: 999 |
11 Code 1001 must cause InvalidAccessError. | 11 PASS [Worker] exceptionProto === DOMException.prototype is true |
12 PASS PASS: worker: exceptionName is invalidAccessErr | 12 PASS [Worker] exceptionName is "InvalidAccessError" |
13 Invalid code test: 2 | 13 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 999 is neither." |
14 Code 2999 must cause InvalidAccessError. | 14 [Worker] badCodesTest: 1001 |
15 PASS PASS: worker: exceptionName is invalidAccessErr | 15 PASS [Worker] exceptionProto === DOMException.prototype is true |
16 Invalid code test: 3 | 16 PASS [Worker] exceptionName is "InvalidAccessError" |
17 Code 5000 must cause InvalidAccessError. | 17 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 1001 is neither." |
18 PASS PASS: worker: exceptionName is invalidAccessErr | 18 [Worker] badCodesTest: 2999 |
19 Invalid code test: 4 | 19 PASS [Worker] exceptionProto === DOMException.prototype is true |
20 Code 66536 must cause InvalidAccessError. | 20 PASS [Worker] exceptionName is "InvalidAccessError" |
21 PASS PASS: worker: exceptionName is invalidAccessErr | 21 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 2999 is neither." |
22 Invalid code test: 5 | 22 [Worker] badCodesTest: 5000 |
23 Code 4294968296 must cause InvalidAccessError. | 23 PASS [Worker] exceptionProto === DOMException.prototype is true |
24 PASS PASS: worker: exceptionName is invalidAccessErr | 24 PASS [Worker] exceptionName is "InvalidAccessError" |
25 Invalid code test: 6 | 25 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 5000 is neither." |
26 Code 2999.9 must cause InvalidAccessError. | 26 [Worker] badCodesTest: 66536 |
27 PASS PASS: worker: exceptionName is invalidAccessErr | 27 PASS [Worker] exceptionProto === DOMException.prototype is true |
28 Invalid code test: 7 | 28 PASS [Worker] exceptionName is "InvalidAccessError" |
29 Code NaN must cause InvalidAccessError. | 29 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 65535 is neither." |
30 PASS PASS: worker: exceptionName is invalidAccessErr | 30 [Worker] badCodesTest: 4294968296 |
31 Invalid code test: 8 | 31 PASS [Worker] exceptionProto === DOMException.prototype is true |
32 Code 0 must cause InvalidAccessError. | 32 PASS [Worker] exceptionName is "InvalidAccessError" |
33 PASS PASS: worker: exceptionName is invalidAccessErr | 33 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 65535 is neither." |
34 Invalid code test: 9 | 34 [Worker] badCodesTest: 2999.9 |
35 Code 100 must cause InvalidAccessError. | 35 PASS [Worker] exceptionProto === DOMException.prototype is true |
36 PASS PASS: worker: exceptionName is invalidAccessErr | 36 PASS [Worker] exceptionName is "InvalidAccessError" |
37 Invalid code test: 10 | 37 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 2999 is neither." |
38 Code Infinity must cause InvalidAccessError. | 38 [Worker] badCodesTest: NaN |
39 PASS PASS: worker: exceptionName is invalidAccessErr | 39 PASS [Worker] exceptionProto === DOMException.prototype is true |
40 Invalid code test: 11 | 40 PASS [Worker] exceptionName is "InvalidAccessError" |
41 Code -Infinity must cause InvalidAccessError. | 41 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 0 is neither." |
42 PASS PASS: worker: exceptionName is invalidAccessErr | 42 [Worker] badCodesTest: 0 |
43 Invalid code test: 12 | 43 PASS [Worker] exceptionProto === DOMException.prototype is true |
44 Code NaN must cause InvalidAccessError. | 44 PASS [Worker] exceptionName is "InvalidAccessError" |
45 PASS PASS: worker: exceptionName is invalidAccessErr | 45 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 0 is neither." |
46 PASS PASS: onerror() was called. | 46 [Worker] badCodesTest: 100 |
47 runCodeTest: onclose(). | 47 PASS [Worker] exceptionProto === DOMException.prototype is true |
48 PASS PASS: worker: closeEvent.code is abnormalClosure | 48 PASS [Worker] exceptionName is "InvalidAccessError" |
49 Skip invalid string test. | 49 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 100 is neither." |
50 Reason test: 0 | 50 [Worker] badCodesTest: Infinity |
51 with invalid reason: 123456789012345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890123456789012345678901234 | 51 PASS [Worker] exceptionProto === DOMException.prototype is true |
52 Reason 1234567890123456789012345678901234567890123456789012345678901234567890123
456789012345678901234567890123456789012345678901234 must cause SyntaxError. | 52 PASS [Worker] exceptionName is "InvalidAccessError" |
53 PASS PASS: worker: result is false | 53 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 65535 is neither." |
54 PASS PASS: worker: exceptionName is syntaxErr | 54 [Worker] badCodesTest: -Infinity |
55 Reason test: 1 | 55 PASS [Worker] exceptionProto === DOMException.prototype is true |
56 with invalid reason: 123456789012345678901234567890123456789012345678901234567
89012345678901234567890123456789012345678901234567890123456789012© | 56 PASS [Worker] exceptionName is "InvalidAccessError" |
57 Reason 1234567890123456789012345678901234567890123456789012345678901234567890123
4567890123456789012345678901234567890123456789012© must cause SyntaxError. | 57 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 0 is neither." |
58 PASS PASS: worker: result is false | 58 [Worker] badCodesTest: NaN |
59 PASS PASS: worker: exceptionName is syntaxErr | 59 PASS [Worker] exceptionProto === DOMException.prototype is true |
60 Reason test: 2 | 60 PASS [Worker] exceptionName is "InvalidAccessError" |
61 PASS PASS: onerror() was called. | 61 PASS [Worker] exceptionMessage is "Failed to execute 'close' on 'WebSocket': The
code must be either 1000, or between 3000 and 4999. 0 is neither." |
62 runReasonTest: onclose(). | 62 [Worker] goodCodeTest: started |
63 PASS PASS: worker: closeEvent.code is abnormalClosure | 63 PASS [Worker] onerror was called. |
64 Code and reason test: 0 | 64 PASS [Worker] closeEvent.code is 1006 |
65 Code and reason must be | 65 [Worker] invalidUnicodeReasonTest: started |
66 code : 1000 | 66 PASS [Worker] closeEvent.wasClean is true |
67 reason: OK, Bye! | 67 PASS [Worker] closeEvent.reason is "�" |
68 PASS PASS: worker: closeEvent.wasClean is true | 68 [Worker] badReasonTest: started |
69 PASS PASS: worker: closeEvent.code is code | 69 [Worker] badReasonTest: 12345678901234567890123456789012345678901234567890123456
78901234567890123456789012345678901234567890123456789012345678901234 |
70 PASS PASS: worker: closeEvent.reason is reason | 70 PASS [Worker] exceptionProto === DOMException.prototype is true |
71 Code and reason test: 1 | 71 PASS [Worker] exceptionName is "SyntaxError" |
72 Code and reason must be | 72 [Worker] badReasonTest: 12345678901234567890123456789012345678901234567890123456
789012345678901234567890123456789012345678901234567890123456789012© |
73 code : 3000 | 73 PASS [Worker] exceptionProto === DOMException.prototype is true |
74 reason: 3000 | 74 PASS [Worker] exceptionName is "SyntaxError" |
75 PASS PASS: worker: closeEvent.wasClean is true | 75 [Worker] goodReasonTest: started |
76 PASS PASS: worker: closeEvent.code is code | 76 PASS [Worker] onerror was called. |
77 PASS PASS: worker: closeEvent.reason is reason | 77 PASS [Worker] closeEvent.code is 1006 |
78 Code and reason test: 2 | 78 [Worker] codeAndReasonTest: started |
79 Code and reason must be | 79 [Worker] codeAndReasonTest: 1000, 'OK, Bye!' |
80 code : 4000 | 80 PASS [Worker] closeEvent.wasClean is true |
81 reason: code is 4000 | 81 PASS [Worker] closeEvent.code is 1000 |
82 PASS PASS: worker: closeEvent.wasClean is true | 82 PASS [Worker] closeEvent.reason is "OK, Bye!" |
83 PASS PASS: worker: closeEvent.code is code | 83 [Worker] codeAndReasonTest: 3000, '3000' |
84 PASS PASS: worker: closeEvent.reason is reason | 84 PASS [Worker] closeEvent.wasClean is true |
85 Code and reason test: 3 | 85 PASS [Worker] closeEvent.code is 3000 |
86 Code and reason must be | 86 PASS [Worker] closeEvent.reason is "3000" |
87 code : 4999 | 87 [Worker] codeAndReasonTest: 4000, 'code is 4000' |
88 reason: © Google | 88 PASS [Worker] closeEvent.wasClean is true |
89 PASS PASS: worker: closeEvent.wasClean is true | 89 PASS [Worker] closeEvent.code is 4000 |
90 PASS PASS: worker: closeEvent.code is code | 90 PASS [Worker] closeEvent.reason is "code is 4000" |
91 PASS PASS: worker: closeEvent.reason is reason | 91 [Worker] codeAndReasonTest: 4999, '© Google' |
92 DONE | 92 PASS [Worker] closeEvent.wasClean is true |
| 93 PASS [Worker] closeEvent.code is 4999 |
| 94 PASS [Worker] closeEvent.reason is "© Google" |
93 PASS successfullyParsed is true | 95 PASS successfullyParsed is true |
94 | 96 |
95 TEST COMPLETE | 97 TEST COMPLETE |
96 | 98 |
OLD | NEW |