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

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

Issue 12316036: Merge IO v2 branch to bleeding edge (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased to r18818 Created 7 years, 10 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
« no previous file with comments | « tests/standalone/io/socket_info_test.dart ('k') | tests/standalone/io/socket_many_connections_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/standalone/io/socket_invalid_arguments_test.dart
diff --git a/tests/standalone/io/socket_invalid_arguments_test.dart b/tests/standalone/io/socket_invalid_arguments_test.dart
index 91108b4128d5b1fd13113714c988c919b24026e4..7505aaa7b4e75ad07da3ce0f8b2cd2f039a39470 100644
--- a/tests/standalone/io/socket_invalid_arguments_test.dart
+++ b/tests/standalone/io/socket_invalid_arguments_test.dart
@@ -1,8 +1,9 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import "dart:io";
+import "dart:isolate";
class NotAnInteger {
operator==(other) => other == 1;
@@ -16,39 +17,41 @@ class NotAList {
}
testSocketCreation(host, port) {
- var s = new Socket(host, port);
- s.onError = (e) => null;
- s.onConnect = () => Expect.fail("Shouldn't get connected");
+ Socket.connect(host, port)
+ .then((socket) => Expect.fail("Shouldn't get connected"))
+ .catchError((e) => null, test: (e) => e is SocketIOException)
+ .catchError((e) => null, test: (e) => e is ArgumentError);
}
-testReadList(buffer, offset, length) {
- var server = new ServerSocket("127.0.0.1", 0, 5);
- var s = new Socket("127.0.0.1", server.port);
- s.onConnect = () {
- try { s.readList(buffer, offset, length); } catch (e) {}
- s.close();
- };
- s.onError = (e) => null;
-}
-
-testWriteList(buffer, offset, length) {
- var server = new ServerSocket("127.0.0.1", 0, 5);
- var s = new Socket("127.0.0.1", server.port);
- s.onConnect = () {
- try { s.writeList(buffer, offset, length); } catch (e) {}
- s.close();
- };
- s.onError = (e) => null;
+testAdd(buffer) {
+ ServerSocket.bind("127.0.0.1", 0, 5).then((server) {
+ server.listen((socket) => socket.destroy());
+ Socket.connect("127.0.0.1", server.port).then((socket) {
+ int errors = 0;
+ socket.done.catchError((e) { errors++; });
+ socket.listen(
+ (_) { },
+ onError: (error) {
+ Expect.fail("Error on stream");
+ },
+ onDone: () {
+ Expect.equals(1, errors);
+ socket.destroy();
+ server.close();
+ });
+ socket.add(buffer);
+ });
+ });
}
testServerSocketCreation(address, port, backlog) {
var server;
+ var port = new ReceivePort();
try {
- server = new ServerSocket(address, port, backlog);
- server.onError = (e) => null;
- server.onConnection = (c) => Expect.fail("Shouldn't get connection");
+ ServerSocket.bind(address, port, backlog)
+ .then((_) { Expect.fail("ServerSocket bound"); });
} catch (e) {
- // ignore
+ port.close();
}
}
@@ -56,15 +59,14 @@ main() {
testSocketCreation(123, 123);
testSocketCreation("string", null);
testSocketCreation(null, null);
- testReadList(null, 123, 123);
- testReadList(new NotAList(), 1, 1);
- testReadList([1, 2, 3], new NotAnInteger(), new NotAnInteger());
- testReadList([1, 2, 3], 1, new NotAnInteger());
- testWriteList(null, 123, 123);
- testWriteList(new NotAList(), 1, 1);
- testWriteList([1, 2, 3], new NotAnInteger(), new NotAnInteger());
- testWriteList([1, 2, 3], 1, new NotAnInteger());
- testWriteList([1, 2, 3], new NotAnInteger(), 1);
+ testAdd(null);
+ testAdd(new NotAList());
+ testAdd(42);
+ // TODO(8233): Throw ArgumentError from API implementation.
+ // testAdd([-1]);
+ // testAdd([2222222222222222222222222222222]);
+ // testAdd([1, 2, 3, null]);
+ // testAdd([new NotAnInteger()]);
testServerSocketCreation(123, 123, 123);
testServerSocketCreation("string", null, null);
testServerSocketCreation("string", 123, null);
« no previous file with comments | « tests/standalone/io/socket_info_test.dart ('k') | tests/standalone/io/socket_many_connections_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698