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

Side by Side Diff: test/shelf_io_test.dart

Issue 837193005: pkg/shelf: formatted code (Closed) Base URL: https://github.com/dart-lang/shelf.git@master
Patch Set: nits Created 5 years, 11 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
« no previous file with comments | « test/response_test.dart ('k') | test/test_util.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library shelf_io_test; 5 library shelf_io_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert'; 8 import 'dart:convert';
9 import 'dart:io'; 9 import 'dart:io';
10 10
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 87
88 expect(request.url.path, '/foo/bar'); 88 expect(request.url.path, '/foo/bar');
89 expect(request.url.pathSegments, ['foo', 'bar']); 89 expect(request.url.pathSegments, ['foo', 'bar']);
90 expect(request.protocolVersion, '1.1'); 90 expect(request.protocolVersion, '1.1');
91 expect(request.url.query, 'qs=value'); 91 expect(request.url.query, 'qs=value');
92 expect(request.scriptName, ''); 92 expect(request.scriptName, '');
93 93
94 return syncHandler(request); 94 return syncHandler(request);
95 }); 95 });
96 96
97 return schedule(() => http.get('http://localhost:$_serverPort$path')) 97 return schedule(() => http.get('http://localhost:$_serverPort$path')).then(
98 .then((response) { 98 (response) {
99 expect(response.statusCode, HttpStatus.OK); 99 expect(response.statusCode, HttpStatus.OK);
100 expect(response.body, 'Hello from /foo/bar'); 100 expect(response.body, 'Hello from /foo/bar');
101 }); 101 });
102 }); 102 });
103 103
104 test('custom response headers are received by the client', () { 104 test('custom response headers are received by the client', () {
105 _scheduleServer((request) { 105 _scheduleServer((request) {
106 return new Response.ok('Hello from /', headers: { 106 return new Response.ok('Hello from /',
107 'test-header': 'test-value', 107 headers: {'test-header': 'test-value', 'test-list': 'a, b, c'});
108 'test-list': 'a, b, c'
109 });
110 }); 108 });
111 109
112 return _scheduleGet().then((response) { 110 return _scheduleGet().then((response) {
113 expect(response.statusCode, HttpStatus.OK); 111 expect(response.statusCode, HttpStatus.OK);
114 expect(response.headers['test-header'], 'test-value'); 112 expect(response.headers['test-header'], 'test-value');
115 expect(response.body, 'Hello from /'); 113 expect(response.body, 'Hello from /');
116 }); 114 });
117 }); 115 });
118 116
119 test('custom status code is received by the client', () { 117 test('custom status code is received by the client', () {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 }); 184 });
187 }); 185 });
188 186
189 test('supports request hijacking', () { 187 test('supports request hijacking', () {
190 _scheduleServer((request) { 188 _scheduleServer((request) {
191 expect(request.method, 'POST'); 189 expect(request.method, 'POST');
192 190
193 request.hijack(expectAsync((stream, sink) { 191 request.hijack(expectAsync((stream, sink) {
194 expect(stream.first, completion(equals("Hello".codeUnits))); 192 expect(stream.first, completion(equals("Hello".codeUnits)));
195 193
196 sink.add(( 194 sink.add(("HTTP/1.1 404 Not Found\r\n"
197 "HTTP/1.1 404 Not Found\r\n"
198 "Date: Mon, 23 May 2005 22:38:34 GMT\r\n" 195 "Date: Mon, 23 May 2005 22:38:34 GMT\r\n"
199 "Content-Length: 13\r\n" 196 "Content-Length: 13\r\n"
200 "\r\n" 197 "\r\n"
201 "Hello, world!").codeUnits); 198 "Hello, world!").codeUnits);
202 sink.close(); 199 sink.close();
203 })); 200 }));
204 }); 201 });
205 202
206 return _schedulePost(body: "Hello").then((response) { 203 return _schedulePost(body: "Hello").then((response) {
207 expect(response.statusCode, HttpStatus.NOT_FOUND); 204 expect(response.statusCode, HttpStatus.NOT_FOUND);
208 expect(response.headers["date"], "Mon, 23 May 2005 22:38:34 GMT"); 205 expect(response.headers["date"], "Mon, 23 May 2005 22:38:34 GMT");
209 expect(response.stream.bytesToString(), 206 expect(
210 completion(equals("Hello, world!"))); 207 response.stream.bytesToString(), completion(equals("Hello, world!")));
211 }); 208 });
212 }); 209 });
213 210
214 test('reports an error if a HijackException is thrown without hijacking', () { 211 test('reports an error if a HijackException is thrown without hijacking', () {
215 _scheduleServer((request) => throw const HijackException()); 212 _scheduleServer((request) => throw const HijackException());
216 213
217 return _scheduleGet().then((response) { 214 return _scheduleGet().then((response) {
218 expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR); 215 expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
219 }); 216 });
220 }); 217 });
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 var responseDate = parser.parseHttpDate(response.headers['date']); 291 var responseDate = parser.parseHttpDate(response.headers['date']);
295 292
296 expect(responseDate.isAfter(beforeRequest), isTrue); 293 expect(responseDate.isAfter(beforeRequest), isTrue);
297 expect(responseDate.isBefore(new DateTime.now()), isTrue); 294 expect(responseDate.isBefore(new DateTime.now()), isTrue);
298 }); 295 });
299 }); 296 });
300 297
301 test('defers to header in response', () { 298 test('defers to header in response', () {
302 var date = new DateTime.utc(1981, 6, 5); 299 var date = new DateTime.utc(1981, 6, 5);
303 _scheduleServer((request) { 300 _scheduleServer((request) {
304 return new Response.ok('test', headers: { 301 return new Response.ok('test',
305 HttpHeaders.DATE: parser.formatHttpDate(date) 302 headers: {HttpHeaders.DATE: parser.formatHttpDate(date)});
306 });
307 }); 303 });
308 304
309 return _scheduleGet().then((response) { 305 return _scheduleGet().then((response) {
310 expect(response.headers, contains('date')); 306 expect(response.headers, contains('date'));
311 var responseDate = parser.parseHttpDate(response.headers['date']); 307 var responseDate = parser.parseHttpDate(response.headers['date']);
312 expect(responseDate, date); 308 expect(responseDate, date);
313 }); 309 });
314 }); 310 });
315 }); 311 });
316 312
(...skipping 29 matching lines...) Expand all
346 return server.close(force: true); 342 return server.close(force: true);
347 }); 343 });
348 344
349 _serverPort = server.port; 345 _serverPort = server.port;
350 })); 346 }));
351 } 347 }
352 348
353 Future<http.Response> _scheduleGet({Map<String, String> headers}) { 349 Future<http.Response> _scheduleGet({Map<String, String> headers}) {
354 if (headers == null) headers = {}; 350 if (headers == null) headers = {};
355 351
356 return schedule(() => 352 return schedule(
357 http.get('http://localhost:$_serverPort/', headers: headers)); 353 () => http.get('http://localhost:$_serverPort/', headers: headers));
358 } 354 }
359 355
360 Future<http.StreamedResponse> _schedulePost({Map<String, String> headers, 356 Future<http.StreamedResponse> _schedulePost(
361 String body}) { 357 {Map<String, String> headers, String body}) {
362
363 return schedule(() { 358 return schedule(() {
364 359 var request =
365 var request = new http.Request('POST', 360 new http.Request('POST', Uri.parse('http://localhost:$_serverPort/'));
366 Uri.parse('http://localhost:$_serverPort/'));
367 361
368 if (headers != null) request.headers.addAll(headers); 362 if (headers != null) request.headers.addAll(headers);
369 if (body != null) request.body = body; 363 if (body != null) request.body = body;
370 364
371 return request.send(); 365 return request.send();
372 }); 366 });
373 } 367 }
OLDNEW
« no previous file with comments | « test/response_test.dart ('k') | test/test_util.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698