Index: pkg/http/test/client_test.dart |
diff --git a/pkg/http/test/client_test.dart b/pkg/http/test/client_test.dart |
index fd056c9c4233b18b8f8571bff339d73751ebe9ad..e101f282762beaf932ba5dbf3bd3c7865e60d1b5 100644 |
--- a/pkg/http/test/client_test.dart |
+++ b/pkg/http/test/client_test.dart |
@@ -13,48 +13,51 @@ import 'package:http/src/utils.dart'; |
import 'utils.dart'; |
void main() { |
- setUp(startServer); |
tearDown(stopServer); |
test('#send a StreamedRequest', () { |
- var client = new http.Client(); |
- var request = new http.StreamedRequest("POST", serverUrl); |
- request.headers[HttpHeaders.CONTENT_TYPE] = |
- 'application/json; charset=utf-8'; |
- |
- expect(client.send(request).then((response) { |
- expect(response.request, equals(request)); |
- expect(response.statusCode, equals(200)); |
- expect(response.headers['single'], equals('value')); |
- // dart:io internally normalizes outgoing headers so that they never have |
- // multiple headers with the same name, so there's no way to test whether |
- // we handle that case correctly. |
- |
- return response.stream.bytesToString(); |
- }).whenComplete(client.close), completion(parse(equals({ |
- 'method': 'POST', |
- 'path': '/', |
- 'headers': { |
- 'content-type': ['application/json; charset=utf-8'], |
- 'transfer-encoding': ['chunked'] |
- }, |
- 'body': '{"hello": "world"}' |
- })))); |
- |
- request.sink.add('{"hello": "world"}'.charCodes); |
- request.sink.close(); |
- }); |
- |
- test('#send with an invalid URL', () { |
- var client = new http.Client(); |
- var url = Uri.parse('http://http.invalid'); |
- var request = new http.StreamedRequest("POST", url); |
- request.headers[HttpHeaders.CONTENT_TYPE] = |
+ expect(startServer().then((_) { |
+ var client = new http.Client(); |
+ var request = new http.StreamedRequest("POST", serverUrl); |
+ request.headers[HttpHeaders.CONTENT_TYPE] = |
'application/json; charset=utf-8'; |
- expect(client.send(request), throwsSocketIOException); |
+ expect(client.send(request).then((response) { |
+ expect(response.request, equals(request)); |
+ expect(response.statusCode, equals(200)); |
+ expect(response.headers['single'], equals('value')); |
+ // dart:io internally normalizes outgoing headers so that they never |
+ // have multiple headers with the same name, so there's no way to test |
+ // whether we handle that case correctly. |
+ |
+ return response.stream.bytesToString(); |
+ }).whenComplete(client.close), completion(parse(equals({ |
+ 'method': 'POST', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-type': ['application/json; charset=utf-8'], |
+ 'transfer-encoding': ['chunked'] |
+ }, |
+ 'body': '{"hello": "world"}' |
+ })))); |
+ |
+ request.sink.add('{"hello": "world"}'.charCodes); |
+ request.sink.close(); |
+ }), completes); |
+ }); |
- request.sink.add('{"hello": "world"}'.charCodes); |
- request.sink.close(); |
+ test('#send with an invalid URL', () { |
+ expect(startServer().then((_) { |
+ var client = new http.Client(); |
+ var url = Uri.parse('http://http.invalid'); |
+ var request = new http.StreamedRequest("POST", url); |
+ request.headers[HttpHeaders.CONTENT_TYPE] = |
+ 'application/json; charset=utf-8'; |
+ |
+ expect(client.send(request), throwsSocketIOException); |
+ |
+ request.sink.add('{"hello": "world"}'.charCodes); |
+ request.sink.close(); |
+ }), completes); |
}); |
} |