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

Side by Side Diff: tests/standalone/io/socket_invalid_arguments_test.dart

Issue 23886004: Update dart:io tests to use asyncStart/asyncEnd (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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:io";
6
7 import "package:async_helper/async_helper.dart";
5 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
6 import "dart:io";
7 import "dart:isolate";
8 9
9 class NotAnInteger { 10 class NotAnInteger {
10 operator==(other) => other == 1; 11 operator==(other) => other == 1;
11 operator<(other) => other > 1; 12 operator<(other) => other > 1;
12 operator+(other) => 1; 13 operator+(other) => 1;
13 } 14 }
14 15
15 class NotAList { 16 class NotAList {
16 get length => 10; 17 get length => 10;
17 operator[](index) => 1; 18 operator[](index) => 1;
18 } 19 }
19 20
20 testSocketCreation(host, port) { 21 testSocketCreation(host, port) {
22 asyncStart();
21 Socket.connect(host, port) 23 Socket.connect(host, port)
22 .then((socket) => Expect.fail("Shouldn't get connected")) 24 .then((socket) => Expect.fail("Shouldn't get connected"))
23 .catchError((e) => null, test: (e) => e is SocketException) 25 .catchError((e) {
24 .catchError((e) => null, test: (e) => e is ArgumentError); 26 Expect.isTrue(e is ArgumentError || e is SocketException);
27 asyncEnd();
28 });
25 } 29 }
26 30
27 testAdd(buffer) { 31 testAdd(buffer) {
32 asyncStart();
28 ServerSocket.bind("127.0.0.1", 0).then((server) { 33 ServerSocket.bind("127.0.0.1", 0).then((server) {
29 server.listen((socket) => socket.destroy()); 34 server.listen((socket) => socket.destroy());
30 Socket.connect("127.0.0.1", server.port).then((socket) { 35 Socket.connect("127.0.0.1", server.port).then((socket) {
31 int errors = 0; 36 int errors = 0;
32 socket.done.catchError((e) { errors++; }); 37 socket.done.catchError((e) { errors++; });
33 socket.listen( 38 socket.listen(
34 (_) { }, 39 (_) { },
35 onError: (error) { 40 onError: (error) {
36 Expect.fail("Error on stream"); 41 Expect.fail("Error on stream");
37 }, 42 },
38 onDone: () { 43 onDone: () {
39 Expect.equals(1, errors); 44 Expect.equals(1, errors);
40 socket.destroy(); 45 socket.destroy();
41 server.close(); 46 server.close();
47 asyncEnd();
42 }); 48 });
43 socket.add(buffer); 49 socket.add(buffer);
44 }); 50 });
45 }); 51 });
46 } 52 }
47 53
48 testServerSocketCreation(address, port, backlog) { 54 testServerSocketCreation(address, port, backlog) {
55 asyncStart();
49 var server; 56 var server;
50 var port = new ReceivePort();
51 try { 57 try {
52 ServerSocket.bind(address, port, backlog: backlog) 58 ServerSocket.bind(address, port, backlog: backlog)
53 .then((_) { Expect.fail("ServerSocket bound"); }); 59 .then((_) { Expect.fail("ServerSocket bound"); })
60 .catchError((e) => asyncEnd());
54 } catch (e) { 61 } catch (e) {
55 port.close(); 62 asyncEnd();
56 } 63 }
57 } 64 }
58 65
59 main() { 66 main() {
60 testSocketCreation(123, 123); 67 testSocketCreation(123, 123);
61 testSocketCreation("string", null); 68 testSocketCreation("string", null);
62 testSocketCreation(null, null); 69 testSocketCreation(null, null);
63 testAdd(null); 70 testAdd(null);
64 testAdd(new NotAList()); 71 testAdd(new NotAList());
65 testAdd(42); 72 testAdd(42);
66 // TODO(8233): Throw ArgumentError from API implementation. 73 // TODO(8233): Throw ArgumentError from API implementation.
67 // testAdd([-1]); 74 // testAdd([-1]);
68 // testAdd([2222222222222222222222222222222]); 75 // testAdd([2222222222222222222222222222222]);
69 // testAdd([1, 2, 3, null]); 76 // testAdd([1, 2, 3, null]);
70 // testAdd([new NotAnInteger()]); 77 // testAdd([new NotAnInteger()]);
71 testServerSocketCreation(123, 123, 123); 78 testServerSocketCreation(123, 123, 123);
72 testServerSocketCreation("string", null, null); 79 testServerSocketCreation("string", null, null);
73 testServerSocketCreation("string", 123, null); 80 testServerSocketCreation("string", 123, null);
74 } 81 }
OLDNEW
« no previous file with comments | « tests/standalone/io/socket_exception_test.dart ('k') | tests/standalone/io/socket_ipv6_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698