Index: dart/tests/standalone/io/http_server_early_client_close_test.dart |
=================================================================== |
--- dart/tests/standalone/io/http_server_early_client_close_test.dart (revision 23199) |
+++ dart/tests/standalone/io/http_server_early_client_close_test.dart (working copy) |
@@ -18,10 +18,10 @@ |
Expect.fail("No data response was expected"); |
}); |
socket.add(data); |
- socket.done.then((_) { |
- socket.destroy(); |
- }); |
- return socket.close(); |
+ return socket.close() |
+ .then((_) { |
+ socket.destroy(); |
+ }); |
}); |
} |
@@ -38,6 +38,7 @@ |
bool calledOnError = false; |
bool calledOnDone = false; |
ReceivePort port = new ReceivePort(); |
+ var requestCompleter = new Completer(); |
server.listen( |
(request) { |
Expect.isTrue(expectRequest); |
@@ -46,13 +47,15 @@ |
calledOnRequest = true; |
request.listen( |
(_) {}, |
+ onDone: () { |
+ requestCompleter.complete(); |
+ }, |
onError: (error) { |
Expect.isFalse(calledOnError); |
Expect.equals(exception, error.message); |
calledOnError = true; |
if (exception != null) port.close(); |
}); |
- server.close(); |
}, |
onDone: () { |
Expect.equals(expectRequest, calledOnRequest); |
@@ -67,7 +70,8 @@ |
if (d == null) Expect.fail("Invalid data"); |
sendData(d, server.port) |
.then((_) { |
- if (!expectRequest) server.close(); |
+ if (!expectRequest) requestCompleter.complete(); |
+ requestCompleter.future.then((_) => server.close()); |
}); |
return c.future; |