Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(900)

Side by Side Diff: tests/standalone/io/web_socket_compression_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // 4 //
5 // VMOptions= 5 // VMOptions=
6 // VMOptions=--short_socket_read 6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write 7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write 8 // VMOptions=--short_socket_read --short_socket_write
9 9
10 import "dart:async"; 10 import "dart:async";
11 import "dart:convert"; 11 import "dart:convert";
12 import "dart:io"; 12 import "dart:io";
13 import "dart:typed_data"; 13 import "dart:typed_data";
14 import "dart:math"; 14 import "dart:math";
15 15
16 import "package:async_helper/async_helper.dart"; 16 import "package:async_helper/async_helper.dart";
17 import "package:crypto/crypto.dart"; 17 import "package:crypto/crypto.dart";
18 import "package:expect/expect.dart"; 18 import "package:expect/expect.dart";
19 import "package:path/path.dart"; 19 import "package:path/path.dart";
20 20
21 const WEB_SOCKET_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; 21 const WEB_SOCKET_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
22 22
23 const String HOST_NAME = 'localhost'; 23 const String HOST_NAME = 'localhost';
24 24
25 String localFile(path) => Platform.script.resolve(path).toFilePath(); 25 String localFile(path) => Platform.script.resolve(path).toFilePath();
26 26
27 SecurityContext serverContext = new SecurityContext() 27 SecurityContext serverContext = new SecurityContext()
28 ..useCertificateChain(localFile('certificates/server_chain.pem')) 28 ..useCertificateChain(localFile('certificates/server_chain.pem'))
29 ..usePrivateKey(localFile('certificates/server_key.pem'), 29 ..usePrivateKey(localFile('certificates/server_key.pem'),
30 password: 'dartdart'); 30 password: 'dartdart');
31 31
32 class SecurityConfiguration { 32 class SecurityConfiguration {
33 final bool secure; 33 final bool secure;
34 34
35 SecurityConfiguration({bool this.secure}); 35 SecurityConfiguration({bool this.secure});
36 36
37 Future<HttpServer> createServer({int backlog: 0}) => 37 Future<HttpServer> createServer({int backlog: 0}) => secure
38 secure ? HttpServer.bindSecure(HOST_NAME, 38 ? HttpServer.bindSecure(HOST_NAME, 0, serverContext, backlog: backlog)
39 0, 39 : HttpServer.bind(HOST_NAME, 0, backlog: backlog);
40 serverContext,
41 backlog: backlog)
42 : HttpServer.bind(HOST_NAME,
43 0,
44 backlog: backlog);
45 40
46 Future<WebSocket> createClient(int port) => 41 Future<WebSocket> createClient(int port) =>
47 // TODO(whesse): Add client context argument to WebSocket.connect 42 // TODO(whesse): Add client context argument to WebSocket.connect
48 WebSocket.connect('${secure ? "wss" : "ws"}://$HOST_NAME:$port/'); 43 WebSocket.connect('${secure ? "wss" : "ws"}://$HOST_NAME:$port/');
49 44
50 Future<HttpClientResponse> createWebsocket(String url, String headerValue) { 45 Future<HttpClientResponse> createWebsocket(String url, String headerValue) {
51 HttpClient _httpClient = new HttpClient(); 46 HttpClient _httpClient = new HttpClient();
52 Uri uri = Uri.parse(url); 47 Uri uri = Uri.parse(url);
53 48
54 Random random = new Random(); 49 Random random = new Random();
(...skipping 25 matching lines...) Expand all
80 ..set(HttpHeaders.UPGRADE, "websocket") 75 ..set(HttpHeaders.UPGRADE, "websocket")
81 ..set("Sec-WebSocket-Key", nonce) 76 ..set("Sec-WebSocket-Key", nonce)
82 ..set("Cache-Control", "no-cache") 77 ..set("Cache-Control", "no-cache")
83 ..set("Sec-WebSocket-Version", "13") 78 ..set("Sec-WebSocket-Version", "13")
84 ..set("Sec-WebSocket-Extensions", headerValue); 79 ..set("Sec-WebSocket-Extensions", headerValue);
85 80
86 return request.close(); 81 return request.close();
87 }); 82 });
88 } 83 }
89 84
90 void testCompressionSupport({server: false, 85 void testCompressionSupport(
91 client: false, 86 {server: false, client: false, contextTakeover: false}) {
92 contextTakeover: false}) {
93 asyncStart(); 87 asyncStart();
94 88
95 var clientOptions = new CompressionOptions( 89 var clientOptions = new CompressionOptions(
96 enabled: client, 90 enabled: client,
97 serverNoContextTakeover: contextTakeover, 91 serverNoContextTakeover: contextTakeover,
98 clientNoContextTakeover: contextTakeover); 92 clientNoContextTakeover: contextTakeover);
99 var serverOptions = new CompressionOptions( 93 var serverOptions = new CompressionOptions(
100 enabled: server, 94 enabled: server,
101 serverNoContextTakeover: contextTakeover, 95 serverNoContextTakeover: contextTakeover,
102 clientNoContextTakeover: contextTakeover); 96 clientNoContextTakeover: contextTakeover);
103 97
104 createServer().then((server) { 98 createServer().then((server) {
105 server.listen((request) { 99 server.listen((request) {
106 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request)); 100 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request));
107 WebSocketTransformer.upgrade(request, compression: serverOptions) 101 WebSocketTransformer
108 .then((webSocket) { 102 .upgrade(request, compression: serverOptions)
109 webSocket.listen((message) { 103 .then((webSocket) {
110 Expect.equals("Hello World", message); 104 webSocket.listen((message) {
105 Expect.equals("Hello World", message);
111 106
112 webSocket.add(message); 107 webSocket.add(message);
113 webSocket.close(); 108 webSocket.close();
114 }); 109 });
115 webSocket.add("Hello World"); 110 webSocket.add("Hello World");
116 }); 111 });
117 }); 112 });
118 113
119 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; 114 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
120 WebSocket.connect(url, compression: clientOptions).then((websocket) { 115 WebSocket.connect(url, compression: clientOptions).then((websocket) {
121 var future = websocket.listen((message) { 116 var future = websocket.listen((message) {
122 Expect.equals("Hello World", message); 117 Expect.equals("Hello World", message);
123 }).asFuture(); 118 }).asFuture();
124 websocket.add("Hello World"); 119 websocket.add("Hello World");
125 return future; 120 return future;
126 }).then((_) { 121 }).then((_) {
127 server.close(); 122 server.close();
128 asyncEnd(); 123 asyncEnd();
129 }); 124 });
130 }); 125 });
131 } 126 }
132 127
133 void testContextSupport({CompressionOptions serverOpts, 128 void testContextSupport(
134 CompressionOptions clientOpts, 129 {CompressionOptions serverOpts,
135 int messages}) { 130 CompressionOptions clientOpts,
131 int messages}) {
136 asyncStart(); 132 asyncStart();
137 133
138 createServer().then((server) { 134 createServer().then((server) {
139 server.listen((request) { 135 server.listen((request) {
140 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request)); 136 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request));
141 WebSocketTransformer.upgrade(request, compression: serverOpts) 137 WebSocketTransformer
142 .then((webSocket) { 138 .upgrade(request, compression: serverOpts)
143 webSocket.listen((message) { 139 .then((webSocket) {
144 Expect.equals("Hello World", message); 140 webSocket.listen((message) {
145 webSocket.add(message); 141 Expect.equals("Hello World", message);
146 }); 142 webSocket.add(message);
143 });
147 }); 144 });
148 }); 145 });
149 146
150 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; 147 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
151 WebSocket.connect(url, compression: clientOpts).then((websocket) { 148 WebSocket.connect(url, compression: clientOpts).then((websocket) {
152 var i = 1; 149 var i = 1;
153 websocket.listen((message) { 150 websocket.listen((message) {
154 Expect.equals("Hello World", message); 151 Expect.equals("Hello World", message);
155 if (i == messages) { 152 if (i == messages) {
156 websocket.close(); 153 websocket.close();
(...skipping 14 matching lines...) Expand all
171 asyncStart(); 168 asyncStart();
172 createServer().then((server) { 169 createServer().then((server) {
173 server.listen((request) { 170 server.listen((request) {
174 Expect.equals('Upgrade', request.headers.value(HttpHeaders.CONNECTION)); 171 Expect.equals('Upgrade', request.headers.value(HttpHeaders.CONNECTION));
175 Expect.equals('websocket', request.headers.value(HttpHeaders.UPGRADE)); 172 Expect.equals('websocket', request.headers.value(HttpHeaders.UPGRADE));
176 173
177 var key = request.headers.value('Sec-WebSocket-Key'); 174 var key = request.headers.value('Sec-WebSocket-Key');
178 var digest = sha1.convert("$key$WEB_SOCKET_GUID".codeUnits); 175 var digest = sha1.convert("$key$WEB_SOCKET_GUID".codeUnits);
179 var accept = BASE64.encode(digest.bytes); 176 var accept = BASE64.encode(digest.bytes);
180 request.response 177 request.response
181 ..statusCode = HttpStatus.SWITCHING_PROTOCOLS 178 ..statusCode = HttpStatus.SWITCHING_PROTOCOLS
182 ..headers.add(HttpHeaders.CONNECTION, "Upgrade") 179 ..headers.add(HttpHeaders.CONNECTION, "Upgrade")
183 ..headers.add(HttpHeaders.UPGRADE, "websocket") 180 ..headers.add(HttpHeaders.UPGRADE, "websocket")
184 ..headers.add("Sec-WebSocket-Accept", accept) 181 ..headers.add("Sec-WebSocket-Accept", accept)
185 ..headers.add("Sec-WebSocket-Extensions", 182 ..headers.add(
183 "Sec-WebSocket-Extensions",
186 "permessage-deflate;" 184 "permessage-deflate;"
187 // Test quoted values and space padded = 185 // Test quoted values and space padded =
188 'server_max_window_bits="10"; client_max_window_bits = 12' 186 'server_max_window_bits="10"; client_max_window_bits = 12'
189 'client_no_context_takeover; server_no_context_takeover'); 187 'client_no_context_takeover; server_no_context_takeover');
190 request.response.contentLength = 0; 188 request.response.contentLength = 0;
191 request.response.detachSocket().then((socket) { 189 request.response.detachSocket().then((socket) {
192 return new WebSocket.fromUpgradedSocket(socket, serverSide: true); 190 return new WebSocket.fromUpgradedSocket(socket, serverSide: true);
193 }).then((websocket) { 191 }).then((websocket) {
194 websocket.add("Hello"); 192 websocket.add("Hello");
195 websocket.close(); 193 websocket.close();
196 asyncEnd(); 194 asyncEnd();
197 }); 195 });
198 }); 196 });
199 197
200 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; 198 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
201 199
202 WebSocket.connect(url).then((websocket) { 200 WebSocket.connect(url).then((websocket) {
203 return websocket.listen((message) { 201 return websocket.listen((message) {
204 Expect.equals("Hello", message); 202 Expect.equals("Hello", message);
205 websocket.close(); 203 websocket.close();
206 }).asFuture(); 204 }).asFuture();
207 }).then((_) => server.close()); 205 }).then((_) => server.close());
208 }); 206 });
209 } 207 }
210 208
211 void testReturnHeaders(String headerValue, String expected, { 209 void testReturnHeaders(String headerValue, String expected,
212 CompressionOptions serverCompression: CompressionOptions.DEFAULT}) { 210 {CompressionOptions serverCompression: CompressionOptions.DEFAULT}) {
213 asyncStart(); 211 asyncStart();
214 createServer().then((server) { 212 createServer().then((server) {
215 server.listen((request) { 213 server.listen((request) {
216 // Stuff 214 // Stuff
217 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request)); 215 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request));
218 WebSocketTransformer.upgrade(request, compression: serverCompression) 216 WebSocketTransformer
219 .then((webSocket) { 217 .upgrade(request, compression: serverCompression)
220 webSocket.listen((message) { 218 .then((webSocket) {
221 Expect.equals("Hello World", message); 219 webSocket.listen((message) {
220 Expect.equals("Hello World", message);
222 221
223 webSocket.add(message); 222 webSocket.add(message);
224 webSocket.close(); 223 webSocket.close();
225 }); 224 });
226 }); 225 });
227 }); 226 });
228 227
229 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; 228 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
230 createWebsocket(url, headerValue) 229 createWebsocket(url, headerValue).then((HttpClientResponse response) {
231 .then((HttpClientResponse response) { 230 Expect.equals(response.statusCode, HttpStatus.SWITCHING_PROTOCOLS);
232 Expect.equals(response.statusCode, HttpStatus.SWITCHING_PROTOCOLS); 231 print(response.headers.value('Sec-WebSocket-Extensions'));
233 print(response.headers.value('Sec-WebSocket-Extensions')); 232 Expect.equals(
234 Expect.equals(response.headers.value("Sec-WebSocket-Extensions"), 233 response.headers.value("Sec-WebSocket-Extensions"), expected);
235 expected);
236 234
237 String accept = response.headers.value("Sec-WebSocket-Accept"); 235 String accept = response.headers.value("Sec-WebSocket-Accept");
238 Expect.isNotNull(accept); 236 Expect.isNotNull(accept);
239 237
240 var protocol = response.headers.value('Sec-WebSocket-Protocol'); 238 var protocol = response.headers.value('Sec-WebSocket-Protocol');
241 return response.detachSocket().then((socket) => 239 return response.detachSocket().then((socket) =>
242 new WebSocket.fromUpgradedSocket( 240 new WebSocket.fromUpgradedSocket(socket,
243 socket, protocol: protocol, serverSide: false)); 241 protocol: protocol, serverSide: false));
244 }).then((websocket) { 242 }).then((websocket) {
245 var future = websocket.listen((message) { 243 var future = websocket.listen((message) {
246 Expect.equals("Hello", message); 244 Expect.equals("Hello", message);
247 websocket.close(); 245 websocket.close();
248 }).asFuture(); 246 }).asFuture();
249 websocket.add("Hello World"); 247 websocket.add("Hello World");
250 return future; 248 return future;
251 }).then((_) { 249 }).then((_) {
252 server.close(); 250 server.close();
253 asyncEnd(); 251 asyncEnd();
254 }); 252 });
255 }); // End createServer 253 }); // End createServer
256 } 254 }
257 255
258 void testClientRequestHeaders(CompressionOptions compression) { 256 void testClientRequestHeaders(CompressionOptions compression) {
259 asyncStart(); 257 asyncStart();
260 createServer().then((server) { 258 createServer().then((server) {
261 server.listen((request) { 259 server.listen((request) {
262 var extensionHeader = request.headers.value('Sec-WebSocket-Extensions'); 260 var extensionHeader = request.headers.value('Sec-WebSocket-Extensions');
263 var hv = HeaderValue.parse(extensionHeader); 261 var hv = HeaderValue.parse(extensionHeader);
264 Expect.equals(compression.serverNoContextTakeover, 262 Expect.equals(compression.serverNoContextTakeover,
265 hv.parameters.containsKey('server_no_context_takeover')); 263 hv.parameters.containsKey('server_no_context_takeover'));
266 Expect.equals(compression.clientNoContextTakeover, 264 Expect.equals(compression.clientNoContextTakeover,
267 hv.parameters.containsKey('client_no_context_takeover')); 265 hv.parameters.containsKey('client_no_context_takeover'));
268 Expect.equals(compression.serverMaxWindowBits?.toString(), 266 Expect.equals(compression.serverMaxWindowBits?.toString(),
269 hv.parameters['server_max_window_bits']); 267 hv.parameters['server_max_window_bits']);
270 Expect.equals(compression.clientMaxWindowBits?.toString(), 268 Expect.equals(compression.clientMaxWindowBits?.toString(),
271 hv.parameters['client_max_window_bits']); 269 hv.parameters['client_max_window_bits']);
272 270
273 WebSocketTransformer.upgrade(request).then((webSocket) { 271 WebSocketTransformer.upgrade(request).then((webSocket) {
274 webSocket.listen((message) { 272 webSocket.listen((message) {
275 Expect.equals('Hello World', message); 273 Expect.equals('Hello World', message);
276 274
277 webSocket.add(message); 275 webSocket.add(message);
278 webSocket.close(); 276 webSocket.close();
279 }); 277 });
280 }); 278 });
281 }); 279 });
282 280
283 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/'; 281 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
284 282
285 WebSocket.connect(url, compression: compression).then((websocket) { 283 WebSocket.connect(url, compression: compression).then((websocket) {
286 var future = websocket.listen((message) { 284 var future = websocket.listen((message) {
287 Expect.equals('Hello World', message); 285 Expect.equals('Hello World', message);
288 websocket.close(); 286 websocket.close();
289 }).asFuture(); 287 }).asFuture();
(...skipping 14 matching lines...) Expand all
304 // compression and context takeover. 302 // compression and context takeover.
305 testCompressionSupport(server: true, client: true, contextTakeover: true); 303 testCompressionSupport(server: true, client: true, contextTakeover: true);
306 // Compression on client but not server. No take over 304 // Compression on client but not server. No take over
307 testCompressionSupport(client: true); 305 testCompressionSupport(client: true);
308 // Compression on server but not client. 306 // Compression on server but not client.
309 testCompressionSupport(server: true); 307 testCompressionSupport(server: true);
310 308
311 // Test Multiple messages with various context takeover configurations. 309 // Test Multiple messages with various context takeover configurations.
312 // no context takeover on the server. 310 // no context takeover on the server.
313 var serverComp = new CompressionOptions(serverNoContextTakeover: true); 311 var serverComp = new CompressionOptions(serverNoContextTakeover: true);
314 testContextSupport(serverOpts: serverComp, 312 testContextSupport(
315 clientOpts: serverComp, 313 serverOpts: serverComp, clientOpts: serverComp, messages: 5);
316 messages: 5);
317 // no contexttakeover on the client. 314 // no contexttakeover on the client.
318 var clientComp = new CompressionOptions(clientNoContextTakeover: true); 315 var clientComp = new CompressionOptions(clientNoContextTakeover: true);
319 testContextSupport(serverOpts: clientComp, 316 testContextSupport(
320 clientOpts: clientComp, 317 serverOpts: clientComp, clientOpts: clientComp, messages: 5);
321 messages: 5);
322 // no context takeover enabled for both. 318 // no context takeover enabled for both.
323 var compression = new CompressionOptions(serverNoContextTakeover: true, 319 var compression = new CompressionOptions(
324 clientNoContextTakeover: true); 320 serverNoContextTakeover: true, clientNoContextTakeover: true);
325 testContextSupport(serverOpts: compression, 321 testContextSupport(
326 clientOpts: compression, 322 serverOpts: compression, clientOpts: compression, messages: 5);
327 messages: 5);
328 // no context take over for opposing configurations. 323 // no context take over for opposing configurations.
329 testContextSupport(serverOpts: serverComp, 324 testContextSupport(
330 clientOpts: clientComp, 325 serverOpts: serverComp, clientOpts: clientComp, messages: 5);
331 messages: 5); 326 testContextSupport(
332 testContextSupport(serverOpts: clientComp, 327 serverOpts: clientComp, clientOpts: serverComp, messages: 5);
333 clientOpts: serverComp,
334 messages: 5);
335 328
336 testCompressionHeaders(); 329 testCompressionHeaders();
337 // Chrome headers 330 // Chrome headers
338 testReturnHeaders('permessage-deflate; client_max_window_bits', 331 testReturnHeaders('permessage-deflate; client_max_window_bits',
339 "permessage-deflate; client_max_window_bits=15"); 332 "permessage-deflate; client_max_window_bits=15");
340 // Firefox headers 333 // Firefox headers
341 testReturnHeaders('permessage-deflate', 334 testReturnHeaders(
342 "permessage-deflate; client_max_window_bits=15"); 335 'permessage-deflate', "permessage-deflate; client_max_window_bits=15");
343 // Ensure max_window_bits resize appropriately. 336 // Ensure max_window_bits resize appropriately.
344 testReturnHeaders('permessage-deflate; server_max_window_bits=10', 337 testReturnHeaders(
345 "permessage-deflate;" 338 'permessage-deflate; server_max_window_bits=10',
346 " server_max_window_bits=10;" 339 "permessage-deflate;"
347 " client_max_window_bits=10"); 340 " server_max_window_bits=10;"
341 " client_max_window_bits=10");
348 // Don't provider context takeover if requested but not enabled. 342 // Don't provider context takeover if requested but not enabled.
349 // Default is not enabled. 343 // Default is not enabled.
350 testReturnHeaders('permessage-deflate; client_max_window_bits;' 344 testReturnHeaders(
351 'client_no_context_takeover', 345 'permessage-deflate; client_max_window_bits;'
352 'permessage-deflate; client_max_window_bits=15'); 346 'client_no_context_takeover',
347 'permessage-deflate; client_max_window_bits=15');
353 // Enable context Takeover and provide if requested. 348 // Enable context Takeover and provide if requested.
354 compression = new CompressionOptions(clientNoContextTakeover: true, 349 compression = new CompressionOptions(
355 serverNoContextTakeover: true); 350 clientNoContextTakeover: true, serverNoContextTakeover: true);
356 testReturnHeaders('permessage-deflate; client_max_window_bits; ' 351 testReturnHeaders(
357 'client_no_context_takeover', 352 'permessage-deflate; client_max_window_bits; '
358 'permessage-deflate; client_no_context_takeover; ' 353 'client_no_context_takeover',
359 'client_max_window_bits=15', 354 'permessage-deflate; client_no_context_takeover; '
360 serverCompression: compression); 355 'client_max_window_bits=15',
356 serverCompression: compression);
361 // Enable context takeover and don't provide if not requested 357 // Enable context takeover and don't provide if not requested
362 compression = new CompressionOptions(clientNoContextTakeover: true, 358 compression = new CompressionOptions(
363 serverNoContextTakeover: true); 359 clientNoContextTakeover: true, serverNoContextTakeover: true);
364 testReturnHeaders('permessage-deflate; client_max_window_bits; ', 360 testReturnHeaders('permessage-deflate; client_max_window_bits; ',
365 'permessage-deflate; client_max_window_bits=15', 361 'permessage-deflate; client_max_window_bits=15',
366 serverCompression: compression); 362 serverCompression: compression);
367 363
368 compression = CompressionOptions.DEFAULT; 364 compression = CompressionOptions.DEFAULT;
369 testClientRequestHeaders(compression); 365 testClientRequestHeaders(compression);
370 compression = new CompressionOptions(clientNoContextTakeover: true, 366 compression = new CompressionOptions(
371 serverNoContextTakeover: true); 367 clientNoContextTakeover: true, serverNoContextTakeover: true);
372 testClientRequestHeaders(compression); 368 testClientRequestHeaders(compression);
373 compression = new CompressionOptions(clientNoContextTakeover: true, 369 compression = new CompressionOptions(
370 clientNoContextTakeover: true,
374 serverNoContextTakeover: true, 371 serverNoContextTakeover: true,
375 clientMaxWindowBits: 8, 372 clientMaxWindowBits: 8,
376 serverMaxWindowBits: 8); 373 serverMaxWindowBits: 8);
377 testClientRequestHeaders(compression); 374 testClientRequestHeaders(compression);
378 } 375 }
379 } 376 }
380 377
381 main() { 378 main() {
382 new SecurityConfiguration(secure: false).runTests(); 379 new SecurityConfiguration(secure: false).runTests();
383 // TODO(whesse): Make WebSocket.connect() take an optional context: parameter. 380 // TODO(whesse): Make WebSocket.connect() take an optional context: parameter.
384 // new SecurityConfiguration(secure: true).runTests(); 381 // new SecurityConfiguration(secure: true).runTests();
385 } 382 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698