Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1646)

Unified Diff: tests/standalone/io/raw_socket_test.dart

Issue 14864009: Keep track of when a socket has been destroyed (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
});

Powered by Google App Engine
This is Rietveld 408576698