Chromium Code Reviews| 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 b04e02f35d4fac5f9d1046a0cae3d22361831874..d9229b6e74f7893973b46248cd9e53abd06da164 100644 |
| --- a/tests/standalone/io/web_socket_test.dart |
| +++ b/tests/standalone/io/web_socket_test.dart |
| @@ -350,6 +350,7 @@ class SecurityConfiguration { |
| } |
| testIndividualUpgrade(int connections) { |
| + asyncStart(); |
| createServer().then((server) { |
| server.listen((request) { |
| if (WebSocketTransformer.isUpgradeRequest(request)) { |
| @@ -392,6 +393,7 @@ class SecurityConfiguration { |
| Future.wait(futures).then((_) { |
| server.close(); |
| client.close(); |
| + asyncEnd(); |
| }); |
| }); |
| } |
| @@ -432,6 +434,40 @@ class SecurityConfiguration { |
| }); |
| } |
| + void testAdditionalHeaders() { |
| + asyncStart(); |
| + createServer().then((server) { |
| + server.listen((request) { |
| + Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request)); |
| + Expect.equals('my-value', request.headers['My-Header'][0]); |
| + var header = request.headers['My-Header-Multiple']; |
| + Expect.equals(1, header.length); |
| + Expect.equals('my-value-1, my-value-2', header[0]); |
|
kustermann
2015/01/14 11:42:17
I guess the []-operator on HttpHeaders is automati
Søren Gjesse
2015/01/14 13:54:26
No, it is so stupid that [] returns one element fo
|
| + WebSocketTransformer.upgrade(request).then((webSocket) { |
| + webSocket.listen((_) { webSocket.close(); }); |
| + webSocket.add("Hello"); |
| + }); |
| + }); |
| + |
| + var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; |
| + var headers = {'My-Header': 'my-value', |
| + 'My-Header-Multiple': ['my-value-1', 'my-value-2']}; |
| + print(headers); |
| + print(headers['My-Header-Multiple'] is Iterable); |
| + print(headers['My-Header-Multiple'].length); |
| + WebSocket.connect(url, headers: headers).then((websocket) { |
| + return websocket.listen((message) { |
| + Expect.equals("Hello", message); |
| + websocket.close(); |
| + }).asFuture(); |
| + }).then((_) { |
| + server.close(); |
| + asyncEnd(); |
| + }); |
| + }); |
| + } |
| + |
| + |
| void runTests() { |
| testRequestResponseClientCloses(2, null, null, 1); |
| testRequestResponseClientCloses(2, 3001, null, 2); |
| @@ -453,6 +489,7 @@ class SecurityConfiguration { |
| testConnections(10, 3002, "Got tired"); |
| testIndividualUpgrade(5); |
| testFromUpgradedSocket(); |
| + testAdditionalHeaders(); |
| } |
| } |