Index: tests/standalone/io/web_socket_test.dart |
diff --git a/tests/standalone/io/web_socket_test.dart b/tests/standalone/io/web_socket_test.dart |
index ae383078ac65438245cc8227fdf09b390a5a2727..011c98a66f1b52b0a493e50c3e8f63fae21cd1c6 100644 |
--- a/tests/standalone/io/web_socket_test.dart |
+++ b/tests/standalone/io/web_socket_test.dart |
@@ -550,6 +550,42 @@ class SecurityConfiguration { |
}); |
} |
Søren Gjesse
2015/08/24 08:21:50
Please create a new test file web_socket_compressi
|
+ void testCompressionSupport(bool enabled, bool allowContextTakeover) { |
Søren Gjesse
2015/08/24 08:21:50
Please add tests involving the max_window_bits as
|
+ asyncStart(); |
+ |
+ var options = new CompressionOptions( |
+ enabled: enabled, |
+ serverNoContextTakeover: allowContextTakeover, |
+ clientNoContextTakeover: allowContextTakeover); |
+ |
+ createServer().then((server) { |
+ server.listen((request) { |
+ Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request)); |
+ WebSocketTransformer.upgrade(request, compression: options).then((webSocket) { |
Søren Gjesse
2015/08/24 08:21:50
nit: Long line.
|
+ webSocket.listen((message) { |
+ Expect.equals("Hello World", message); |
+ |
+ webSocket.add(message); |
+ webSocket.close(); |
+ }); |
+ webSocket.add("Hello World"); |
+ }); |
+ }); |
+ |
+ var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; |
+ WebSocket.connect(url, compression: options).then((websocket) { |
+ var future = websocket.listen((message) { |
+ Expect.equals("Hello World", message); |
+ }).asFuture(); |
+ websocket.add("Hello World"); |
+ return future; |
+ }).then((_) { |
+ server.close(); |
+ asyncEnd(); |
+ }); |
+ }); |
+ } |
+ |
void runTests() { |
testRequestResponseClientCloses(2, null, null, 1); |
testRequestResponseClientCloses(2, 3001, null, 2); |
@@ -573,6 +609,9 @@ class SecurityConfiguration { |
testNoUpgrade(); |
testUsePOST(); |
testConnections(10, 3002, "Got tired"); |
+ testCompressionSupport(false, false); |
+ testCompressionSupport(true, false); |
+ testCompressionSupport(true, true); |
testIndividualUpgrade(5); |
testFromUpgradedSocket(); |
testAdditionalHeaders(); |