OLD | NEW |
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 library request_test; | 5 library request_test; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 | 8 |
9 import 'package:http/http.dart' as http; | 9 import 'package:http/http.dart' as http; |
10 import 'package:http/src/utils.dart'; | 10 import 'package:http/src/utils.dart'; |
11 import 'package:unittest/unittest.dart'; | 11 import 'package:unittest/unittest.dart'; |
12 | 12 |
13 import 'utils.dart'; | 13 import 'utils.dart'; |
14 | 14 |
15 void main() { | 15 void main() { |
16 test('.send', () { | 16 test('.send', () { |
17 expect(startServer().then((_) { | 17 expect(startServer().then((_) { |
18 | 18 |
19 var request = new http.Request('POST', serverUrl); | 19 var request = new http.Request('POST', serverUrl); |
20 request.body = "hello"; | 20 request.body = "hello"; |
| 21 request.headers['User-Agent'] = 'Dart'; |
21 | 22 |
22 expect(request.send().then((response) { | 23 expect(request.send().then((response) { |
23 expect(response.statusCode, equals(200)); | 24 expect(response.statusCode, equals(200)); |
24 return response.stream.bytesToString(); | 25 return response.stream.bytesToString(); |
25 }).whenComplete(stopServer), completion(parse(equals({ | 26 }).whenComplete(stopServer), completion(parse(equals({ |
26 'method': 'POST', | 27 'method': 'POST', |
27 'path': '/', | 28 'path': '/', |
28 'headers': { | 29 'headers': { |
29 'content-type': ['text/plain; charset=utf-8'], | 30 'content-type': ['text/plain; charset=utf-8'], |
30 'accept-encoding': ['gzip'], | 31 'accept-encoding': ['gzip'], |
| 32 'user-agent': ['Dart'], |
31 'content-length': ['5'] | 33 'content-length': ['5'] |
32 }, | 34 }, |
33 'body': 'hello' | 35 'body': 'hello' |
34 })))); | 36 })))); |
35 }), completes); | 37 }), completes); |
36 }); | 38 }); |
37 | 39 |
38 group('#contentLength', () { | 40 group('#contentLength', () { |
39 test('is computed from bodyBytes', () { | 41 test('is computed from bodyBytes', () { |
40 var request = new http.Request('POST', dummyUrl); | 42 var request = new http.Request('POST', dummyUrl); |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 }); | 390 }); |
389 | 391 |
390 group('#toString()', () { | 392 group('#toString()', () { |
391 test('includes the method and URL', () { | 393 test('includes the method and URL', () { |
392 var request = new http.Request('POST', dummyUrl); | 394 var request = new http.Request('POST', dummyUrl); |
393 expect(request.toString(), 'POST $dummyUrl'); | 395 expect(request.toString(), 'POST $dummyUrl'); |
394 }); | 396 }); |
395 }); | 397 }); |
396 } | 398 } |
397 | 399 |
OLD | NEW |