| Index: dart/tests/standalone/io/http_server_test.dart
|
| ===================================================================
|
| --- dart/tests/standalone/io/http_server_test.dart (revision 35362)
|
| +++ dart/tests/standalone/io/http_server_test.dart (working copy)
|
| @@ -3,6 +3,7 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| import "dart:async";
|
| +import "dart:typed_data";
|
| import "dart:io";
|
|
|
| import "package:async_helper/async_helper.dart";
|
| @@ -110,8 +111,34 @@
|
| }
|
|
|
|
|
| +void testHttpServerClientClose() {
|
| + HttpServer.bind("127.0.0.1", 0).then((server) {
|
| + runZoned(() {
|
| + server.listen((request) {
|
| + request.response.bufferOutput = false;
|
| + request.response.add(new Uint8List(64 * 1024));
|
| + new Timer(const Duration(milliseconds: 100), () {
|
| + request.response.close().then((_) {
|
| + server.close();
|
| + });
|
| + });
|
| + });
|
| + }, onError: (e, s) {
|
| + Expect.fail("Unexpected error: $e(${e.hashCode})\n$s");
|
| + });
|
| + var client = new HttpClient();
|
| + client.get("127.0.0.1", server.port, "/")
|
| + .then((request) => request.close())
|
| + .then((response) {
|
| + response.listen((_) {}).cancel();
|
| + });
|
| + });
|
| +}
|
| +
|
| +
|
| void main() {
|
| testListenOn();
|
| testHttpServerZone();
|
| testHttpServerZoneError();
|
| + testHttpServerClientClose();
|
| }
|
|
|