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

Unified Diff: tests/standalone/src/EchoServerStreamTest.dart

Issue 9029001: Add close to input stream and cleanup socket and streams (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 9 years 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/src/EchoServerStreamTest.dart
diff --git a/tests/standalone/src/EchoServerStreamTest.dart b/tests/standalone/src/EchoServerStreamTest.dart
index ee1217931986208f86f6a28a31ca6f57ad93515a..0036c31326ba54307ca8b6e8e7e3aad8bae7850d 100644
--- a/tests/standalone/src/EchoServerStreamTest.dart
+++ b/tests/standalone/src/EchoServerStreamTest.dart
@@ -34,10 +34,6 @@ class EchoServerGame {
void sendData() {
- void closeHandler() {
- _socket.close();
- }
-
void errorHandler() {
Expect.fail("Socket error");
}
@@ -51,7 +47,17 @@ class EchoServerGame {
int offset = 0;
List<int> data;
- void dataReceived() {
+ void onClose() {
+ Expect.equals(MSGSIZE, offset);
+ _messages++;
+ if (_messages < MESSAGES) {
+ sendData();
+ } else {
+ shutdown();
+ }
+ }
+
+ void onData() {
// Test both read and readInto.
int bytesRead = 0;
if (_messages % 2 == 0) {
@@ -68,26 +74,17 @@ class EchoServerGame {
}
offset += bytesRead;
- if (offset == MSGSIZE) {
- _messages++;
- _socket.close();
- if (_messages < MESSAGES) {
- sendData();
- } else {
- shutdown();
- }
- }
}
if (_messages % 2 == 0) data = new List<int>(MSGSIZE);
- inputStream.dataHandler = dataReceived;
+ inputStream.dataHandler = onData;
+ inputStream.closeHandler = onClose;
}
- _socket.closeHandler = closeHandler;
_socket.errorHandler = errorHandler;
// Test both write and writeFrom in different forms.
- switch (_messages % 2) {
+ switch (_messages % 4) {
case 0:
stream.write(_buffer);
break;
@@ -98,6 +95,7 @@ class EchoServerGame {
stream.writeFrom(_buffer);
break;
case 3:
+ Expect.equals(0, _buffer.length % 2);
stream.writeFrom(_buffer, len: _buffer.length ~/ 2);
stream.writeFrom(_buffer, _buffer.length ~/ 2);
break;

Powered by Google App Engine
This is Rietveld 408576698