OLD | NEW |
---|---|
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import "dart:async"; | 5 import "dart:async"; |
6 import "dart:io"; | 6 import "dart:io"; |
7 import "dart:isolate"; | 7 import "dart:isolate"; |
8 import "dart:math"; | 8 import "dart:math"; |
9 | 9 |
10 import "package:async_helper/async_helper.dart"; | 10 import "package:async_helper/async_helper.dart"; |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
381 | 381 |
382 // Close from both directions. Shouldn't be able to read/write to the | 382 // Close from both directions. Shouldn't be able to read/write to the |
383 // socket. | 383 // socket. |
384 socket.shutdown(SocketDirection.BOTH); | 384 socket.shutdown(SocketDirection.BOTH); |
385 Expect.throws( | 385 Expect.throws( |
386 () => socket.writeFromSync(data), (e) => e is SocketException); | 386 () => socket.writeFromSync(data), (e) => e is SocketException); |
387 Expect.throws( | 387 Expect.throws( |
388 () => socket.readSync(data.length), (e) => e is SocketException); | 388 () => socket.readSync(data.length), (e) => e is SocketException); |
389 socket.closeSync(); | 389 socket.closeSync(); |
390 | 390 |
391 // Close the socket for reading, do a write, and see if we can get any | 391 // Close the socket for reading then try and perform a read. This should |
392 // response from the server (we shouldn't be able to). | 392 // cause a SocketException. |
393 socket = RawSynchronousSocket.connectSync( | 393 socket = RawSynchronousSocket.connectSync( |
394 LOOPBACK_IP_V4_STRING, serverInternetPort); | 394 LOOPBACK_IP_V4_STRING, serverInternetPort); |
395 socket.shutdown(SocketDirection.RECEIVE); | 395 socket.shutdown(SocketDirection.RECEIVE); |
siva
2017/04/27 18:28:56
Instead of deleting the write which is a good test
| |
396 socket.writeFromSync(data); | |
397 // Throws exception when the socket is closed for RECEIVE. | 396 // Throws exception when the socket is closed for RECEIVE. |
398 Expect.throws( | 397 Expect.throws( |
399 () => socket.readSync(data.length), (e) => e is SocketException); | 398 () => socket.readSync(data.length), (e) => e is SocketException); |
400 socket.closeSync(); | 399 socket.closeSync(); |
401 | 400 |
402 // Close the socket for writing and try to do a write. This should cause an | 401 // Close the socket for writing and try to do a write. This should cause an |
403 // OSError to be throw as the pipe is closed for writing. | 402 // OSError to be throw as the pipe is closed for writing. |
404 socket = RawSynchronousSocket.connectSync( | 403 socket = RawSynchronousSocket.connectSync( |
405 LOOPBACK_IP_V4_STRING, serverInternetPort); | 404 LOOPBACK_IP_V4_STRING, serverInternetPort); |
406 socket.shutdown(SocketDirection.SEND); | 405 socket.shutdown(SocketDirection.SEND); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
481 await testShutdown(); | 480 await testShutdown(); |
482 testSimpleConnect(); | 481 testSimpleConnect(); |
483 testServerListenAfterConnect(); | 482 testServerListenAfterConnect(); |
484 await testSimpleReadWrite(); | 483 await testSimpleReadWrite(); |
485 await testPartialRead(); | 484 await testPartialRead(); |
486 await testPartialWrite(); | 485 await testPartialWrite(); |
487 testInvalidReadWriteOperations(); | 486 testInvalidReadWriteOperations(); |
488 testClosedError(); | 487 testClosedError(); |
489 asyncEnd(); | 488 asyncEnd(); |
490 } | 489 } |
OLD | NEW |