OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 request_test; | 5 library request_test; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 | 8 |
9 import '../../unittest/lib/unittest.dart'; | 9 import '../../unittest/lib/unittest.dart'; |
10 import '../lib/http.dart' as http; | 10 import '../lib/http.dart' as http; |
11 import '../lib/src/utils.dart'; | 11 import '../lib/src/utils.dart'; |
12 import 'utils.dart'; | 12 import 'utils.dart'; |
13 | 13 |
14 void main() { | 14 void main() { |
15 test('.send', () { | 15 test('.send', () { |
16 print("This test is known to be flaky, please ignore " | |
17 "(debug prints below added by sgjesse@)"); | |
18 print(".send test starting server..."); | |
19 startServer(); | 16 startServer(); |
20 print(".send test server running"); | |
21 | 17 |
22 var request = new http.Request('POST', serverUrl); | 18 var request = new http.Request('POST', serverUrl); |
23 request.body = "hello"; | 19 request.body = "hello"; |
24 var future = request.send().chain((response) { | 20 var future = request.send().chain((response) { |
25 print(".send test response received"); | |
26 expect(response.statusCode, equals(200)); | 21 expect(response.statusCode, equals(200)); |
27 return consumeInputStream(response.stream); | 22 return consumeInputStream(response.stream); |
28 }).transform((bytes) => new String.fromCharCodes(bytes)); | 23 }).transform((bytes) => new String.fromCharCodes(bytes)); |
29 future.onComplete((_) { | 24 future.onComplete((_) { |
30 print(".send test stopping server..."); | |
31 stopServer(); | 25 stopServer(); |
32 print(".send test server stopped"); | |
33 }); | 26 }); |
34 | 27 |
35 expect(future, completion(parse(equals({ | 28 expect(future, completion(parse(equals({ |
36 'method': 'POST', | 29 'method': 'POST', |
37 'path': '/', | 30 'path': '/', |
38 'headers': { | 31 'headers': { |
39 'content-type': ['text/plain; charset=UTF-8'], | 32 'content-type': ['text/plain; charset=UTF-8'], |
40 'content-length': ['5'] | 33 'content-length': ['5'] |
41 }, | 34 }, |
42 'body': 'hello' | 35 'body': 'hello' |
43 })))); | 36 })))); |
44 print(".send test started"); | |
45 }); | 37 }); |
46 | 38 |
47 group('#contentLength', () { | 39 group('#contentLength', () { |
48 test('is computed from bodyBytes', () { | 40 test('is computed from bodyBytes', () { |
49 var request = new http.Request('POST', dummyUrl); | 41 var request = new http.Request('POST', dummyUrl); |
50 request.bodyBytes = [1, 2, 3, 4, 5]; | 42 request.bodyBytes = [1, 2, 3, 4, 5]; |
51 expect(request.contentLength, equals(5)); | 43 expect(request.contentLength, equals(5)); |
52 request.bodyBytes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; | 44 request.bodyBytes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; |
53 expect(request.contentLength, equals(10)); | 45 expect(request.contentLength, equals(10)); |
54 }); | 46 }); |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 }); | 335 }); |
344 | 336 |
345 test("can't be called twice", () { | 337 test("can't be called twice", () { |
346 var request = new http.Request('POST', dummyUrl); | 338 var request = new http.Request('POST', dummyUrl); |
347 request.finalize(); | 339 request.finalize(); |
348 expect(request.finalize, throwsStateError); | 340 expect(request.finalize, throwsStateError); |
349 }); | 341 }); |
350 }); | 342 }); |
351 } | 343 } |
352 | 344 |
OLD | NEW |