
Summary report generated on 2011-12-04T11:33:42Z (UTC) by Autobahn WebSockets v0.4.5.
| Pass | Test case was executed and passed successfully. |
| Non-Strict | Test case was executed and passed non-strictly. A non-strict behavior is one that does not adhere to a SHOULD-behavior as described in the protocol specification or a well-defined, canonical behavior that appears to be desirable but left open in the protocol specification. An implementation with non-strict behavior is still conformant to the protocol specification. |
| Fail | Test case was executed and failed. An implementation which fails a test case - other than a performance/limits related one - is non-conforming to a MUST-behavior as described in the protocol specification. |
| Missing | Test case is missing, either because it was skipped via the test suite configuration or deactivated, i.e. because the implementation does not implement the tested feature or breaks during running the test case. |
| 1 Framing | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 1.1 Text Messages | ||||||||||
| Case 1.1.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.6 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.7 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.1.8 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 1 Framing | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 1.2 Binary Messages | ||||||||||
| Case 1.2.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.6 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.7 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 1.2.8 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 2 Pings/Pongs | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| Case 2.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.5 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 2.6 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.7 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.8 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.9 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.10 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 2.11 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 3 Reserved Bits | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| Case 3.1 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.2 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.3 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.4 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.5 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.6 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 3.7 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| 4 Opcodes | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 4.1 Non-control Opcodes | ||||||||||
| Case 4.1.1 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.1.2 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.1.3 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.1.4 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.1.5 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| 4 Opcodes | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 4.2 Control Opcodes | ||||||||||
| Case 4.2.1 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.2.2 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.2.3 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.2.4 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 4.2.5 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| 5 Fragmentation | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| Case 5.1 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.2 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.6 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.7 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.8 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.9 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.10 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.11 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.12 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.13 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.14 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.15 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.16 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.17 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.18 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| Case 5.19 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 5.20 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.1 Valid UTF-8 with zero payload fragments | ||||||||||
| Case 6.1.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.1.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.1.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.2 Valid UTF-8 unfragmented, fragmented on code-points and within code-points | ||||||||||
| Case 6.2.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.2.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.2.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.2.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.3 Invalid UTF-8 differently fragmented | ||||||||||
| Case 6.3.1 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.3.2 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.4 Fail-fast on invalid UTF-8 | ||||||||||
| Case 6.4.1 | Non-Strict | None | Pass | 1007 | Fail | Fail | Non-Strict | 1007 | Non-Strict | 1007 |
| Case 6.4.2 | Non-Strict | None | Pass | 1007 | Fail | Fail | Non-Strict | 1007 | Non-Strict | 1007 |
| Case 6.4.3 | Non-Strict | None | Non-Strict | 1007 | Fail | Fail | Non-Strict | 1007 | Non-Strict | 1007 |
| Case 6.4.4 | Non-Strict | None | Non-Strict | 1007 | Fail | Fail | Non-Strict | 1007 | Non-Strict | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.5 Some valid UTF-8 sequences | ||||||||||
| Case 6.5.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.6 All prefixes of a valid UTF-8 string that contains multi-byte code points | ||||||||||
| Case 6.6.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.6.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.6.6 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.7 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.6.8 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.9 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.6.10 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.6.11 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.7 First possible sequence of a certain length | ||||||||||
| Case 6.7.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.7.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.7.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.7.4 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.8 First possible sequence length 5/6 (invalid codepoints) | ||||||||||
| Case 6.8.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.8.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.9 Last possible sequence of a certain length | ||||||||||
| Case 6.9.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.9.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.9.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.9.4 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.10 Last possible sequence length 4/5/6 (invalid codepoints) | ||||||||||
| Case 6.10.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.10.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.10.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.11 Other boundary conditions | ||||||||||
| Case 6.11.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.11.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.11.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.11.4 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.11.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.12 Unexpected continuation bytes | ||||||||||
| Case 6.12.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.6 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.7 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.12.8 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.13 Lonely start characters | ||||||||||
| Case 6.13.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.13.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.13.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.13.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.13.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.14 Sequences with last continuation byte missing | ||||||||||
| Case 6.14.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.6 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.7 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.8 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.9 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.14.10 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.15 Concatenation of incomplete sequences | ||||||||||
| Case 6.15.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.16 Impossible bytes | ||||||||||
| Case 6.16.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.16.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.16.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.17 Examples of an overlong ASCII character | ||||||||||
| Case 6.17.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.17.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.17.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.17.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.17.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.18 Maximum overlong sequences | ||||||||||
| Case 6.18.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.18.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.18.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.18.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.18.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.19 Overlong representation of the NUL character | ||||||||||
| Case 6.19.1 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.19.2 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.19.3 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.19.4 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.19.5 | Pass | None | Pass | 1007 | Fail | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.20 Single UTF-16 surrogates | ||||||||||
| Case 6.20.1 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.2 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.3 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.4 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.5 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.6 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.20.7 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.21 Paired UTF-16 surrogates | ||||||||||
| Case 6.21.1 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.2 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.3 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.4 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.5 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.6 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.7 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| Case 6.21.8 | Pass | None | Pass | 1007 | Pass | Fail | Pass | 1007 | Pass | 1007 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.22 Non-character code points (valid UTF-8) | ||||||||||
| Case 6.22.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.22.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 6.22.3 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.4 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.5 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.6 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.7 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.8 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.9 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.10 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.11 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.12 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.13 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.14 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.15 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.16 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.17 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.18 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.19 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.20 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.21 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.22 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.23 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.24 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.25 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.26 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.27 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.28 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.29 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.30 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.31 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.32 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.33 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| Case 6.22.34 | Pass | None | Pass | 1000 | Fail | 1000 | Fail | 1001 | Pass | 1000 |
| 6 UTF-8 Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 6.23 Unicode replacement character | ||||||||||
| Case 6.23.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 7 Close Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 7.1 Basic close behavior (fuzzer initiated) | ||||||||||
| Case 7.1.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.1.2 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.1.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.1.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.1.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| 7 Close Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 7.3 Close frame structure: payload length (fuzzer initiated) | ||||||||||
| Case 7.3.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.3.2 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.3.3 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.3.4 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.3.5 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.3.6 | Pass | None | Pass | 1002 | Pass | 1002 | Pass | 1002 | Pass | 1002 |
| 7 Close Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 7.5 Close frame structure: payload value (fuzzer initiated) | ||||||||||
| Case 7.5.1 | Pass | None | Pass | 1007 | Fail | 1000 | Pass | 1002 | Pass | 1007 |
| 7 Close Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 7.7 Close frame structure: valid close codes (fuzzer initiated) | ||||||||||
| Case 7.7.1 | Pass | None | Pass | 1000 | Pass | 1000 | Pass | 1000 | Pass | 1000 |
| Case 7.7.2 | Pass | None | Pass | 1001 | Pass | 1000 | Pass | 1001 | Pass | 1001 |
| Case 7.7.3 | Pass | None | Pass | 1002 | Pass | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.7.4 | Pass | None | Pass | 1003 | Pass | 1000 | Pass | 1003 | Pass | 1003 |
| Case 7.7.5 | Pass | None | Pass | 1007 | Pass | 1000 | Pass | 1007 | Pass | 1007 |
| Case 7.7.6 | Pass | None | Pass | 1008 | Pass | 1000 | Pass | 1008 | Pass | 1008 |
| Case 7.7.7 | Pass | None | Pass | 1009 | Pass | 1000 | Pass | 1009 | Pass | 1009 |
| Case 7.7.8 | Pass | None | Pass | 1010 | Pass | 1000 | Pass | 1010 | Pass | 1010 |
| Case 7.7.9 | Pass | None | Pass | 3000 | Pass | 1000 | Pass | 3000 | Pass | 3000 |
| Case 7.7.10 | Pass | None | Pass | 3999 | Pass | 1000 | Pass | 3999 | Pass | 3999 |
| Case 7.7.11 | Pass | None | Pass | 4000 | Pass | 1000 | Pass | 4000 | Pass | 4000 |
| Case 7.7.12 | Pass | None | Pass | 4999 | Pass | 1000 | Pass | 4999 | Pass | 4999 |
| 7 Close Handling | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 7.9 Close frame structure: invalid close codes (fuzzer initiated) | ||||||||||
| Case 7.9.1 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.2 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.3 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.4 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.5 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.6 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.7 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.8 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.9 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.10 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| Case 7.9.11 | Pass | None | Pass | 1002 | Fail | 1000 | Pass | 1002 | Pass | 1002 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.1 Text Message (increasing size) | ||||||||||
| Case 9.1.1 | Pass 73 ms | None | Pass 93 ms | 1000 | Pass 72 ms | 1000 | Pass 95 ms | 1000 | Pass 70 ms | 1000 |
| Case 9.1.2 | Pass 293 ms | None | Pass 287 ms | 1000 | Pass 292 ms | 1000 | Pass 367 ms | 1000 | Pass 276 ms | 1000 |
| Case 9.1.3 | Pass 1324 ms | None | Pass 1134 ms | 1000 | Pass 1111 ms | 1000 | Pass 1513 ms | 1000 | Pass 1096 ms | 1000 |
| Case 9.1.4 | Pass 8383 ms | None | Pass 4491 ms | 1000 | Pass 4404 ms | 1000 | Pass 5900 ms | 1000 | Pass 4404 ms | 1000 |
| Case 9.1.5 | Pass 23685 ms | None | Pass 9384 ms | 1000 | Pass 8868 ms | 1000 | Pass 11615 ms | 1000 | Pass 8813 ms | 1000 |
| Case 9.1.6 | Pass 82441 ms | None | Pass 29096 ms | 1000 | Pass 17717 ms | 1000 | Pass 22985 ms | 1000 | Pass 17662 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.2 Binary Message (increasing size) | ||||||||||
| Case 9.2.1 | Pass 35 ms | None | Pass 652 ms | 1000 | Pass 36 ms | 1000 | Pass 57 ms | 1000 | Pass 34 ms | 1000 |
| Case 9.2.2 | Pass 149 ms | None | Pass 1104 ms | 1000 | Pass 130 ms | 1000 | Pass 212 ms | 1000 | Pass 133 ms | 1000 |
| Case 9.2.3 | Pass 729 ms | None | Pass 2700 ms | 1000 | Pass 510 ms | 1000 | Pass 836 ms | 1000 | Pass 506 ms | 1000 |
| Case 9.2.4 | Pass 6045 ms | None | Pass 9483 ms | 1000 | Pass 2037 ms | 1000 | Pass 3388 ms | 1000 | Pass 2061 ms | 1000 |
| Case 9.2.5 | Pass 21156 ms | None | Pass 19701 ms | 1000 | Pass 4047 ms | 1000 | Pass 6789 ms | 1000 | Pass 4083 ms | 1000 |
| Case 9.2.6 | Pass 80314 ms | None | Pass 44206 ms | 1000 | Pass 8319 ms | 1000 | Pass 13361 ms | 1000 | Pass 8149 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.3 Fragmented Text Message (fixed size, increasing fragment size) | ||||||||||
| Case 9.3.1 | Pass 5511 ms | None | Fail 995 ms | Fail | Pass 10735 ms | 1000 | Pass 7344 ms | 1000 | Pass 5797 ms | 1000 |
| Case 9.3.2 | Pass 4974 ms | None | Pass 8781 ms | 1000 | Pass 6406 ms | 1000 | Pass 6331 ms | 1000 | Pass 4770 ms | 1000 |
| Case 9.3.3 | Pass 4696 ms | None | Pass 10293 ms | 1000 | Pass 4883 ms | 1000 | Pass 5958 ms | 1000 | Pass 4436 ms | 1000 |
| Case 9.3.4 | Pass 4617 ms | None | Pass 11882 ms | 1000 | Pass 4528 ms | 1000 | Pass 5923 ms | 1000 | Pass 4394 ms | 1000 |
| Case 9.3.5 | Pass 4549 ms | None | Pass 13578 ms | 1000 | Pass 4426 ms | 1000 | Pass 5887 ms | 1000 | Pass 4383 ms | 1000 |
| Case 9.3.6 | Pass 4642 ms | None | Pass 14842 ms | 1000 | Pass 4357 ms | 1000 | Pass 5897 ms | 1000 | Pass 4340 ms | 1000 |
| Case 9.3.7 | Pass 4597 ms | None | Pass 13491 ms | 1000 | Pass 4364 ms | 1000 | Pass 5993 ms | 1000 | Pass 4355 ms | 1000 |
| Case 9.3.8 | Pass 5411 ms | None | Pass 12983 ms | 1000 | Pass 4358 ms | 1000 | Pass 6125 ms | 1000 | Pass 4365 ms | 1000 |
| Case 9.3.9 | Pass 8306 ms | None | Pass 10603 ms | 1000 | Pass 4334 ms | 1000 | Pass 5746 ms | 1000 | Pass 4317 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.4 Fragmented Binary Message (fixed size, increasing fragment size) | ||||||||||
| Case 9.4.1 | Pass 3059 ms | None | Fail 1040 ms | Fail | Pass 8022 ms | 1000 | Pass 4778 ms | 1000 | Pass 3317 ms | 1000 |
| Case 9.4.2 | Pass 2459 ms | None | Pass 5461 ms | 1000 | Pass 3921 ms | 1000 | Pass 3806 ms | 1000 | Pass 2350 ms | 1000 |
| Case 9.4.3 | Pass 2264 ms | None | Pass 2095 ms | 1000 | Pass 2403 ms | 1000 | Pass 3543 ms | 1000 | Pass 1972 ms | 1000 |
| Case 9.4.4 | Pass 2191 ms | None | Pass 1966 ms | 1000 | Pass 2046 ms | 1000 | Pass 3487 ms | 1000 | Pass 1927 ms | 1000 |
| Case 9.4.5 | Pass 2192 ms | None | Pass 1970 ms | 1000 | Pass 1932 ms | 1000 | Pass 3382 ms | 1000 | Pass 1875 ms | 1000 |
| Case 9.4.6 | Pass 2161 ms | None | Pass 1902 ms | 1000 | Pass 1908 ms | 1000 | Pass 3447 ms | 1000 | Pass 1888 ms | 1000 |
| Case 9.4.7 | Pass 2216 ms | None | Pass 8058 ms | 1000 | Pass 1919 ms | 1000 | Pass 3515 ms | 1000 | Pass 1881 ms | 1000 |
| Case 9.4.8 | Pass 3000 ms | None | Pass 3484 ms | 1000 | Pass 1916 ms | 1000 | Pass 3641 ms | 1000 | Pass 1876 ms | 1000 |
| Case 9.4.9 | Pass 5856 ms | None | Pass 2456 ms | 1000 | Pass 1901 ms | 1000 | Pass 3241 ms | 1000 | Pass 1884 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.5 Text Message (fixed size, increasing chop size) | ||||||||||
| Case 9.5.1 | Pass 4345 ms | None | Pass 2873 ms | 1000 | Pass 2627 ms | 1000 | Pass 2663 ms | 1000 | Pass 2587 ms | 1000 |
| Case 9.5.2 | Pass 2922 ms | None | Pass 2170 ms | 1000 | Pass 1849 ms | 1000 | Pass 1931 ms | 1000 | Pass 1836 ms | 1000 |
| Case 9.5.3 | Pass 2177 ms | None | Pass 1531 ms | 1000 | Pass 1490 ms | 1000 | Pass 1587 ms | 1000 | Pass 1471 ms | 1000 |
| Case 9.5.4 | Pass 1717 ms | None | Pass 1296 ms | 1000 | Pass 1288 ms | 1000 | Pass 1564 ms | 1000 | Pass 1284 ms | 1000 |
| Case 9.5.5 | Pass 1593 ms | None | Pass 1230 ms | 1000 | Pass 1208 ms | 1000 | Pass 1498 ms | 1000 | Pass 1197 ms | 1000 |
| Case 9.5.6 | Pass 1449 ms | None | Pass 1178 ms | 1000 | Pass 1151 ms | 1000 | Pass 1483 ms | 1000 | Pass 1141 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.6 Binary Text Message (fixed size, increasing chop size) | ||||||||||
| Case 9.6.1 | Pass 3779 ms | None | Pass 2702 ms | 1000 | Pass 2027 ms | 1000 | Pass 2054 ms | 1000 | Pass 2010 ms | 1000 |
| Case 9.6.2 | Pass 2528 ms | None | Pass 1389 ms | 1000 | Pass 1271 ms | 1000 | Pass 1306 ms | 1000 | Pass 1253 ms | 1000 |
| Case 9.6.3 | Pass 1650 ms | None | Pass 911 ms | 1000 | Pass 892 ms | 1000 | Pass 952 ms | 1000 | Pass 887 ms | 1000 |
| Case 9.6.4 | Pass 1022 ms | None | Pass 749 ms | 1000 | Pass 701 ms | 1000 | Pass 881 ms | 1000 | Pass 706 ms | 1000 |
| Case 9.6.5 | Pass 1001 ms | None | Pass 680 ms | 1000 | Pass 621 ms | 1000 | Pass 864 ms | 1000 | Pass 612 ms | 1000 |
| Case 9.6.6 | Pass 898 ms | None | Pass 590 ms | 1000 | Pass 560 ms | 1000 | Pass 849 ms | 1000 | Pass 554 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.7 Text Message Roundtrip Time (fixed number, increasing size) | ||||||||||
| Case 9.7.1 | Pass 372 ms | None | Pass 302 ms | 1000 | Pass 260 ms | 1000 | Pass 257 ms | 1000 | Pass 244 ms | 1000 |
| Case 9.7.2 | Pass 424 ms | None | Pass 310 ms | 1000 | Pass 305 ms | 1000 | Pass 312 ms | 1000 | Pass 292 ms | 1000 |
| Case 9.7.3 | Pass 482 ms | None | Pass 440 ms | 1000 | Pass 360 ms | 1000 | Pass 386 ms | 1000 | Pass 365 ms | 1000 |
| Case 9.7.4 | Pass 713 ms | None | Pass 635 ms | 1000 | Pass 598 ms | 1000 | Pass 674 ms | 1000 | Pass 579 ms | 1000 |
| Case 9.7.5 | Pass 1589 ms | None | Pass 1473 ms | 1000 | Pass 1495 ms | 1000 | Pass 1765 ms | 1000 | Pass 1432 ms | 1000 |
| Case 9.7.6 | Pass 5139 ms | None | Pass 5139 ms | 1000 | Pass 4914 ms | 1000 | Pass 6076 ms | 1000 | Pass 4858 ms | 1000 |
| 9 Limits/Performance | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 9.8 Binary Message Roundtrip Time (fixed number, increasing size) | ||||||||||
| Case 9.8.1 | Pass 372 ms | None | Pass 373 ms | 1000 | Pass 258 ms | 1000 | Pass 252 ms | 1000 | Pass 246 ms | 1000 |
| Case 9.8.2 | Pass 404 ms | None | Pass 254 ms | 1000 | Pass 281 ms | 1000 | Pass 289 ms | 1000 | Pass 274 ms | 1000 |
| Case 9.8.3 | Pass 433 ms | None | Pass 285 ms | 1000 | Pass 309 ms | 1000 | Pass 331 ms | 1000 | Pass 316 ms | 1000 |
| Case 9.8.4 | Pass 588 ms | None | Pass 399 ms | 1000 | Pass 462 ms | 1000 | Pass 506 ms | 1000 | Pass 425 ms | 1000 |
| Case 9.8.5 | Pass 974 ms | None | Pass 790 ms | 1000 | Pass 835 ms | 1000 | Pass 1149 ms | 1000 | Pass 828 ms | 1000 |
| Case 9.8.6 | Pass 2740 ms | None | Pass 2388 ms | 1000 | Pass 2479 ms | 1000 | Pass 3644 ms | 1000 | Pass 2447 ms | 1000 |
| 10 Autobahn Protocol Options | Chrome/16.0.912.59 | JettyWebsocketClient/7.5.5-SNAPSHOT | WebSocket-Node Client v1.0.2 | faye-websocket-node 0.1.1 | ws 0.3.0 | |||||
| 10.1 Auto-Fragmentation | ||||||||||
| Case 10.1.1 | Pass | None | Missing | Pass | 1000 | Pass | 1000 | Pass | 1000 | |
Case Description
Send text message with payload 0.
Case Expectation
Receive echo'ed text message (with empty payload). Clean close with normal code.
Case Description
Send text message message with payload of length 125.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 126.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 127.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 128.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 65535.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 65536.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send text message message with payload of length 65536. Sent out data in chops of 997 octets.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Case Description
Send binary message with payload 0.
Case Expectation
Receive echo'ed binary message (with empty payload). Clean close with normal code.
Case Description
Send binary message message with payload of length 125.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 126.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 127.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 128.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 65535.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 65536.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send binary message message with payload of length 65536. Sent out data in chops of 997 octets.
Case Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Case Description
Send ping without payload.
Case Expectation
Pong (with empty payload) is sent in reply to Ping. Clean close with normal code.
Case Description
Send ping with small text payload.
Case Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Case Description
Send ping with small binary (non UTF-8) payload.
Case Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Case Description
Send ping with binary payload of 125 octets.
Case Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Case Description
Send ping with binary payload of 126 octets.
Case Expectation
Connection is failed immediately (1002/Protocol Error), since control frames are only allowed to have payload up to and including 125 octets..
Case Description
Send ping with binary payload of 125 octets, send in octet-wise chops.
Case Expectation
Pong with payload echo'ed is sent in reply to Ping. Implementations must be TCP clean. Clean close with normal code.
Case Description
Send unsolicited pong without payload. Verify nothing is received. Clean close with normal code.
Case Expectation
Nothing.
Case Description
Send unsolicited pong with payload. Verify nothing is received. Clean close with normal code.
Case Expectation
Nothing.
Case Description
Send unsolicited pong with payload. Send ping with payload. Verify pong for ping is received.
Case Expectation
Nothing in reply to own Pong, but Pong with payload echo'ed in reply to Ping. Clean close with normal code.
Case Description
Send 10 Pings with payload.
Case Expectation
Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.
Case Description
Send 10 Pings with payload. Send out octets in octet-wise chops.
Case Expectation
Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.
Case Description
Send small text message with RSV = 1.
Case Expectation
The connection is failed immediately (1002/protocol error), since RSV must be 0, when no extension defining RSV meaning has been negoiated.
Case Description
Send small text message, then send again with RSV = 2, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Case Description
Send small text message, then send again with RSV = 3, then send Ping. Octets are sent in frame-wise chops. Octets are sent in octet-wise chops.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Case Description
Send small text message, then send again with RSV = 4, then send Ping. Octets are sent in octet-wise chops.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Case Description
Send small binary message with RSV = 5.
Case Expectation
The connection is failed immediately, since RSV must be 0.
Case Description
Send Ping with RSV = 6.
Case Expectation
The connection is failed immediately, since RSV must be 0.
Case Description
Send Close with RSV = 7.
Case Expectation
The connection is failed immediately, since RSV must be 0.
Case Description
Send frame with reserved non-control Opcode = 3.
Case Expectation
The connection is failed immediately.
Case Description
Send frame with reserved non-control Opcode = 4 and non-empty payload.
Case Expectation
The connection is failed immediately.
Case Description
Send small text message, then send frame with reserved non-control Opcode = 5, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send small text message, then send frame with reserved non-control Opcode = 6 and non-empty payload, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send small text message, then send frame with reserved non-control Opcode = 7 and non-empty payload, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send frame with reserved control Opcode = 11.
Case Expectation
The connection is failed immediately.
Case Description
Send frame with reserved control Opcode = 12 and non-empty payload.
Case Expectation
The connection is failed immediately.
Case Description
Send small text message, then send frame with reserved control Opcode = 13, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send small text message, then send frame with reserved control Opcode = 14 and non-empty payload, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send small text message, then send frame with reserved control Opcode = 15 and non-empty payload, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Description
Send Ping fragmented into 2 fragments.
Case Expectation
Connection is failed immediately, since control message MUST NOT be fragmented.
Case Description
Send Pong fragmented into 2 fragments.
Case Expectation
Connection is failed immediately, since control message MUST NOT be fragmented.
Case Description
Send text Message fragmented into 2 fragments.
Case Expectation
Message is processed and echo'ed back to us.
Case Description
Send text Message fragmented into 2 fragments, octets are sent in frame-wise chops.
Case Expectation
Message is processed and echo'ed back to us.
Case Description
Send text Message fragmented into 2 fragments, octets are sent in octet-wise chops.
Case Expectation
Message is processed and echo'ed back to us.
Case Description
Send text Message fragmented into 2 fragments, one ping with payload in-between.
Case Expectation
A pong is received, then the message is echo'ed back to us.
Case Description
Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in frame-wise chops.
Case Expectation
A pong is received, then the message is echo'ed back to us.
Case Description
Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in octet-wise chops.
Case Expectation
A pong is received, then the message is echo'ed back to us.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in one chop.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in per-frame chops.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in octet-wise chops.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in one chop.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in per-frame chops.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in octet-wise chops.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send text Message fragmented into 2 fragments, then Continuation Frame with FIN = false where there is nothing to continue, then unfragmented Text Message, all sent in one chop.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Repeated 2x: Continuation Frame with FIN = false (where there is nothing to continue), then text Message fragmented into 2 fragments.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Repeated 2x: Continuation Frame with FIN = true (where there is nothing to continue), then text Message fragmented into 2 fragments.
Case Expectation
The connection is failed immediately, since there is no message to continue.
Case Description
Send text Message fragmented into 2 fragments, with both frame opcodes set to text, sent in one chop.
Case Expectation
The connection is failed immediately, since all data frames after the initial data frame must have opcode 0.
Case Description
A fragmented text message is sent in multiple frames. After
sending the first 2 frames of the text message, a Ping is sent. Then we wait 1s,
then we send 2 more text fragments, another Ping and then the final text fragment.
Everything is legal.
Case Expectation
The peer immediately answers the first Ping before
it has received the last text message fragment. The peer pong's back the Ping's
payload exactly, and echo's the payload of the fragmented message back to us.
Case Description
Same as Case 5.19, but send all frames with SYNC = True.
Note, this does not change the octets sent in any way, only how the stream
is chopped up on the wire.
Case Expectation
Same as Case 5.19. Implementations must be agnostic to how
octet stream is chopped up on wire (must be TCP clean).
Case Description
Send text message of length 0.
Case Expectation
A message is echo'ed back to us (with empty payload).
Case Description
Send fragmented text message, 3 fragments each of length 0.
Case Expectation
A message is echo'ed back to us (with empty payload).
Case Description
Send fragmented text message, 3 fragments, first and last of length 0, middle non-empty.
Case Expectation
A message is echo'ed back to us (with payload = payload of middle fragment).
Case Description
Send a valid UTF-8 text message in one fragment.
MESSAGE:
Hello-µ@ßöäüà á-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121
Case Expectation
The message is echo'ed back to us.
Case Description
Send a valid UTF-8 text message in two fragments, fragmented on UTF-8 code point boundary.
MESSAGE FRAGMENT 1:
Hello-µ@ßöä
48656c6c6f2dc2b540c39fc3b6c3a4
MESSAGE FRAGMENT 2:
üà á-UTF-8!!
c3bcc3a0c3a12d5554462d382121
Case Expectation
The message is echo'ed back to us.
Case Description
Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
Hello-µ@ßöäüà á-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121
Case Expectation
The message is echo'ed back to us.
Case Description
Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Case Expectation
The message is echo'ed back to us.
Case Description
Send invalid UTF-8 text message unfragmented.
MESSAGE:
Îºá½¹ÏƒÎ¼Îµí €edited
cebae1bdb9cf83cebcceb5eda080656469746564
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send invalid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
Îºá½¹ÏƒÎ¼Îµí €edited
cebae1bdb9cf83cebcceb5eda080656469746564
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send invalid UTF-8 text message in 3 fragments (frames).
First frame payload is valid, then wait, then 2nd frame which contains the payload making the sequence invalid, then wait, then 3rd frame with rest.
Note that PART1 and PART3 are valid UTF-8 in themselves, PART2 is a 0x11000 encoded as in the UTF-8 integer encoding scheme, but the codepoint is invalid (out of range).
MESSAGE PARTS:
PART1 = κόσμε (cebae1bdb9cf83cebcceb5)
PART2 = � (f4908080)
PART3 = edited (656469746564)
Case Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.
Case Description
Same as Case 6.4.1, but in 2nd frame, we send only up to and including the octet making the complete payload invalid.
MESSAGE PARTS:
PART1 = κόσμε� (cebae1bdb9cf83cebcceb5f4)
PART2 = � (90)
PART3 = ��edited (8080656469746564)
Case Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.
Case Description
Same as Case 6.4.1, but we send message not in 3 frames, but in 3 chops of the same message frame.
MESSAGE PARTS:
PART1 = κόσμε (cebae1bdb9cf83cebcceb5)
PART2 = � (f4908080)
PART3 = edited (656469746564)
Case Expectation
The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.
Case Description
Same as Case 6.4.2, but we send message not in 3 frames, but in 3 chops of the same message frame.
MESSAGE PARTS:
PART1 = κόσμε� (cebae1bdb9cf83cebcceb5f4)
PART2 = � (90)
PART3 = ()
Case Expectation
The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
�
ce
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κ
ceba
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κ�
cebae1
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
�
cebae1bd
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κό
cebae1bdb9
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κό�
cebae1bdb9cf
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσ
cebae1bdb9cf83
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κόσ�
cebae1bdb9cf83ce
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμ
cebae1bdb9cf83cebc
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κόσμ�
cebae1bdb9cf83cebcce
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Case Expectation
The message is echo'ed back to us.
Case Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE: