| Index: tests/standalone/src/SocketStreamCloseTest.dart
|
| diff --git a/tests/standalone/src/SocketCloseTest.dart b/tests/standalone/src/SocketStreamCloseTest.dart
|
| similarity index 71%
|
| copy from tests/standalone/src/SocketCloseTest.dart
|
| copy to tests/standalone/src/SocketStreamCloseTest.dart
|
| index 8e5732932a6618e31539e86becd593d3ac4054e6..49d5b098a693a93ac854e83b710bc06327027c60 100644
|
| --- a/tests/standalone/src/SocketCloseTest.dart
|
| +++ b/tests/standalone/src/SocketStreamCloseTest.dart
|
| @@ -9,27 +9,6 @@ final SERVERSHUTDOWN = -1;
|
| final ITERATIONS = 10;
|
|
|
|
|
| -// Run the close test in these different "modes".
|
| -// 0: Client closes without sending at all.
|
| -// 1: Client sends and closes.
|
| -// 2: Client sends. Server closes.
|
| -// 3: Client sends. Server responds and closes.
|
| -// 4: Client sends and half-closes. Server responds and closes.
|
| -// 5: Client sends. Server responds and half closes.
|
| -// 6: Client sends and half-closes. Server responds and half closes.
|
| -class SocketCloseTest {
|
| - static void testMain() {
|
| - new SocketClose.start(0);
|
| - new SocketClose.start(1);
|
| - new SocketClose.start(2);
|
| - new SocketClose.start(3);
|
| - new SocketClose.start(4);
|
| - new SocketClose.start(5);
|
| - new SocketClose.start(6);
|
| - }
|
| -}
|
| -
|
| -
|
| class SocketClose {
|
|
|
| SocketClose.start(mode)
|
| @@ -81,18 +60,17 @@ class SocketClose {
|
| switch (_mode) {
|
| case 0:
|
| case 1:
|
| - Expect.fail("No close expected");
|
| break;
|
| case 2:
|
| case 3:
|
| - _socket.close();
|
| + _socket.outputStream.close();
|
| proceed();
|
| break;
|
| case 4:
|
| proceed();
|
| break;
|
| case 5:
|
| - _socket.close();
|
| + _socket.outputStream.close();
|
| proceed();
|
| break;
|
| case 6:
|
| @@ -109,40 +87,35 @@ class SocketClose {
|
| }
|
|
|
| void connectHandler() {
|
| - _socket.dataHandler = dataHandler;
|
| - _socket.closeHandler = closeHandler;
|
| + _socket.inputStream.dataHandler = dataHandler;
|
| + _socket.inputStream.closeHandler = closeHandler;
|
| _socket.errorHandler = errorHandler;
|
|
|
| _iterations++;
|
| switch (_mode) {
|
| case 0:
|
| - _socket.close();
|
| + _socket.inputStream.close();
|
| proceed();
|
| break;
|
| case 1:
|
| - int bytesWritten = _socket.writeList("Hello".charCodes(), 0, 5);
|
| - Expect.equals(5, bytesWritten);
|
| - _socket.close();
|
| + _socket.outputStream.write("Hello".charCodes());
|
| + _socket.inputStream.close();
|
| proceed();
|
| break;
|
| case 2:
|
| case 3:
|
| - int bytesWritten = _socket.writeList("Hello".charCodes(), 0, 5);
|
| - Expect.equals(5, bytesWritten);
|
| + _socket.outputStream.write("Hello".charCodes());
|
| break;
|
| case 4:
|
| - int bytesWritten = _socket.writeList("Hello".charCodes(), 0, 5);
|
| - Expect.equals(5, bytesWritten);
|
| - _socket.close(true);
|
| + _socket.outputStream.write("Hello".charCodes());
|
| + _socket.outputStream.close();
|
| break;
|
| case 5:
|
| - int bytesWritten = _socket.writeList("Hello".charCodes(), 0, 5);
|
| - Expect.equals(5, bytesWritten);
|
| + _socket.outputStream.write("Hello".charCodes());
|
| break;
|
| case 6:
|
| - int bytesWritten = _socket.writeList("Hello".charCodes(), 0, 5);
|
| - Expect.equals(5, bytesWritten);
|
| - _socket.close(true);
|
| + _socket.outputStream.write("Hello".charCodes());
|
| + _socket.outputStream.close();
|
| break;
|
| default:
|
| Expect.fail("Unknown test mode");
|
| @@ -170,7 +143,7 @@ class SocketClose {
|
| case 0:
|
| case 1:
|
| Expect.equals(0, _dataEvents);
|
| - Expect.equals(0, _closeEvents);
|
| + Expect.equals(10, _closeEvents);
|
| break;
|
| case 2:
|
| Expect.equals(0, _dataEvents);
|
| @@ -218,31 +191,27 @@ class SocketCloseServer extends Isolate {
|
| Expect.fail("No data expected");
|
| break;
|
| case 1:
|
| - List<int> b = new List<int>(100);
|
| - connection.readList(b, 0, 100);
|
| + connection.inputStream.read();
|
| break;
|
| case 2:
|
| - List<int> b = new List<int>(100);
|
| - connection.readList(b, 0, 100);
|
| - connection.close();
|
| + connection.inputStream.read();
|
| + connection.inputStream.close();
|
| break;
|
| case 3:
|
| - List<int> b = new List<int>(100);
|
| - connection.readList(b, 0, 100);
|
| - connection.writeList("Hello".charCodes(), 0, 5);
|
| - connection.close();
|
| + connection.inputStream.read();
|
| + connection.outputStream.write("Hello".charCodes());
|
| + connection.inputStream.close();
|
| + //connection.outputStream.close();
|
| break;
|
| case 4:
|
| - List<int> b = new List<int>(100);
|
| - connection.readList(b, 0, 100);
|
| - connection.writeList("Hello".charCodes(), 0, 5);
|
| + connection.inputStream.read();
|
| + connection.outputStream.write("Hello".charCodes());
|
| break;
|
| case 5:
|
| case 6:
|
| - List<int> b = new List<int>(100);
|
| - connection.readList(b, 0, 100);
|
| - connection.writeList("Hello".charCodes(), 0, 5);
|
| - connection.close(true);
|
| + connection.inputStream.read();
|
| + connection.outputStream.write("Hello".charCodes());
|
| + connection.outputStream.close();
|
| break;
|
| default:
|
| Expect.fail("Unknown test mode");
|
| @@ -260,8 +229,8 @@ class SocketCloseServer extends Isolate {
|
|
|
| _iterations++;
|
|
|
| - connection.dataHandler = dataHandler;
|
| - connection.closeHandler = closeHandler;
|
| + connection.inputStream.dataHandler = dataHandler;
|
| + connection.inputStream.closeHandler = closeHandler;
|
| connection.errorHandler = errorHandler;
|
| }
|
|
|
| @@ -290,7 +259,7 @@ class SocketCloseServer extends Isolate {
|
| case 2:
|
| case 3:
|
| Expect.equals(ITERATIONS, _dataEvents);
|
| - Expect.equals(0, _closeEvents);
|
| + Expect.equals(ITERATIONS, _closeEvents);
|
| break;
|
| case 4:
|
| case 5:
|
| @@ -337,5 +306,19 @@ class SocketCloseServer extends Isolate {
|
|
|
|
|
| main() {
|
| - SocketCloseTest.testMain();
|
| + // Run the close test in these different "modes".
|
| + // 0: Client closes without sending at all.
|
| + // 1: Client sends and closes.
|
| + // 2: Client sends. Server closes.
|
| + // 3: Client sends. Server responds and closes.
|
| + // 4: Client sends and half-closes. Server responds and closes.
|
| + // 5: Client sends. Server responds and half closes.
|
| + // 6: Client sends and half-closes. Server responds and half closes.
|
| + new SocketClose.start(0);
|
| + new SocketClose.start(1);
|
| + new SocketClose.start(2);
|
| + new SocketClose.start(3);
|
| + new SocketClose.start(4);
|
| + new SocketClose.start(5);
|
| + new SocketClose.start(6);
|
| }
|
|
|