Index: tests/standalone/io/raw_socket_test.dart |
diff --git a/tests/standalone/io/raw_socket_test.dart b/tests/standalone/io/raw_socket_test.dart |
index ed5c494697b04ad160045c9ff8afdac4e0ff321b..9499a9ba6611e54489ad2ab3b7b6765cdaaea037 100644 |
--- a/tests/standalone/io/raw_socket_test.dart |
+++ b/tests/standalone/io/raw_socket_test.dart |
@@ -157,6 +157,7 @@ void testSimpleReadWrite() { |
server.listen((client) { |
int bytesRead = 0; |
int bytesWritten = 0; |
+ bool closedEventReceived = false; |
List<int> data = new List<int>(messageSize); |
client.writeEventsEnabled = false; |
@@ -187,14 +188,20 @@ void testSimpleReadWrite() { |
case RawSocketEvent.READ_CLOSED: |
server.close(); |
break; |
+ case RawSocketEvent.CLOSED: |
+ Expect.isFalse(closedEventReceived); |
+ closedEventReceived = true; |
+ break; |
default: throw "Unexpected event $event"; |
} |
- }); |
+ }, |
+ onDone: () => Expect.isTrue(closedEventReceived)); |
}); |
RawSocket.connect("127.0.0.1", server.port).then((socket) { |
int bytesRead = 0; |
int bytesWritten = 0; |
+ bool closedEventReceived = false; |
List<int> data = createTestData(); |
socket.listen((event) { |
@@ -220,10 +227,17 @@ void testSimpleReadWrite() { |
verifyTestData(data); |
socket.close(); |
break; |
+ case RawSocketEvent.CLOSED: |
+ Expect.isFalse(closedEventReceived); |
+ closedEventReceived = true; |
+ break; |
default: throw "Unexpected event $event"; |
} |
}, |
- onDone: () => port.close()); |
+ onDone: () { |
+ Expect.isTrue(closedEventReceived); |
+ port.close(); |
+ }); |
}); |
}); |
} |
@@ -279,6 +293,7 @@ void testPauseSocket() { |
RawServerSocket.bind(InternetAddress.LOOPBACK_IP_V4, 0).then((server) { |
Expect.isTrue(server.port > 0); |
server.listen((client) { |
+ bool closedEventReceived = false; |
List<int> data = new List<int>.filled(messageSize, 0); |
writeSubscription = client.listen((event) { |
switch (event) { |
@@ -303,12 +318,18 @@ void testPauseSocket() { |
client.close(); |
server.close(); |
break; |
+ case RawSocketEvent.CLOSED: |
+ Expect.isFalse(closedEventReceived); |
+ closedEventReceived = true; |
+ break; |
default: throw "Unexpected event $event"; |
} |
- }); |
+ }, |
+ onDone: () => Expect.isTrue(closedEventReceived)); |
}); |
RawSocket.connect("127.0.0.1", server.port).then((socket) { |
+ bool closedEventReceived = false; |
socket.writeEventsEnabled = false; |
readSubscription = socket.listen((event) { |
switch (event) { |
@@ -334,10 +355,15 @@ void testPauseSocket() { |
case RawSocketEvent.WRITE: |
throw "Unexpected write event"; |
case RawSocketEvent.READ_CLOSED: |
- throw "Unexpected close event"; |
+ throw "Unexpected read closed event"; |
+ case RawSocketEvent.CLOSED: |
+ Expect.isFalse(closedEventReceived); |
+ closedEventReceived = true; |
+ break; |
default: throw "Unexpected event $event"; |
} |
- }); |
+ }, |
+ onDone: () => Expect.isTrue(closedEventReceived)); |
readSubscription.pause(); |
connected.complete(true); |
}); |