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

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

Issue 14640008: Change the signature for all network bind calls. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments by whesse@ Created 7 years, 7 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
« no previous file with comments | « tests/standalone/io/socket_info_test.dart ('k') | tests/standalone/io/socket_ipv6_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import "dart:io"; 6 import "dart:io";
7 import "dart:isolate"; 7 import "dart:isolate";
8 8
9 class NotAnInteger { 9 class NotAnInteger {
10 operator==(other) => other == 1; 10 operator==(other) => other == 1;
11 operator<(other) => other > 1; 11 operator<(other) => other > 1;
12 operator+(other) => 1; 12 operator+(other) => 1;
13 } 13 }
14 14
15 class NotAList { 15 class NotAList {
16 get length => 10; 16 get length => 10;
17 operator[](index) => 1; 17 operator[](index) => 1;
18 } 18 }
19 19
20 testSocketCreation(host, port) { 20 testSocketCreation(host, port) {
21 Socket.connect(host, port) 21 Socket.connect(host, port)
22 .then((socket) => Expect.fail("Shouldn't get connected")) 22 .then((socket) => Expect.fail("Shouldn't get connected"))
23 .catchError((e) => null, test: (e) => e is SocketIOException) 23 .catchError((e) => null, test: (e) => e is SocketIOException)
24 .catchError((e) => null, test: (e) => e is ArgumentError); 24 .catchError((e) => null, test: (e) => e is ArgumentError);
25 } 25 }
26 26
27 testAdd(buffer) { 27 testAdd(buffer) {
28 ServerSocket.bind("127.0.0.1", 0, 5).then((server) { 28 ServerSocket.bind("127.0.0.1", 0).then((server) {
29 server.listen((socket) => socket.destroy()); 29 server.listen((socket) => socket.destroy());
30 Socket.connect("127.0.0.1", server.port).then((socket) { 30 Socket.connect("127.0.0.1", server.port).then((socket) {
31 int errors = 0; 31 int errors = 0;
32 socket.done.catchError((e) { errors++; }); 32 socket.done.catchError((e) { errors++; });
33 socket.listen( 33 socket.listen(
34 (_) { }, 34 (_) { },
35 onError: (error) { 35 onError: (error) {
36 Expect.fail("Error on stream"); 36 Expect.fail("Error on stream");
37 }, 37 },
38 onDone: () { 38 onDone: () {
39 Expect.equals(1, errors); 39 Expect.equals(1, errors);
40 socket.destroy(); 40 socket.destroy();
41 server.close(); 41 server.close();
42 }); 42 });
43 socket.add(buffer); 43 socket.add(buffer);
44 }); 44 });
45 }); 45 });
46 } 46 }
47 47
48 testServerSocketCreation(address, port, backlog) { 48 testServerSocketCreation(address, port, backlog) {
49 var server; 49 var server;
50 var port = new ReceivePort(); 50 var port = new ReceivePort();
51 try { 51 try {
52 ServerSocket.bind(address, port, backlog) 52 ServerSocket.bind(address, port, backlog: backlog)
53 .then((_) { Expect.fail("ServerSocket bound"); }); 53 .then((_) { Expect.fail("ServerSocket bound"); });
54 } catch (e) { 54 } catch (e) {
55 port.close(); 55 port.close();
56 } 56 }
57 } 57 }
58 58
59 main() { 59 main() {
60 testSocketCreation(123, 123); 60 testSocketCreation(123, 123);
61 testSocketCreation("string", null); 61 testSocketCreation("string", null);
62 testSocketCreation(null, null); 62 testSocketCreation(null, null);
63 testAdd(null); 63 testAdd(null);
64 testAdd(new NotAList()); 64 testAdd(new NotAList());
65 testAdd(42); 65 testAdd(42);
66 // TODO(8233): Throw ArgumentError from API implementation. 66 // TODO(8233): Throw ArgumentError from API implementation.
67 // testAdd([-1]); 67 // testAdd([-1]);
68 // testAdd([2222222222222222222222222222222]); 68 // testAdd([2222222222222222222222222222222]);
69 // testAdd([1, 2, 3, null]); 69 // testAdd([1, 2, 3, null]);
70 // testAdd([new NotAnInteger()]); 70 // testAdd([new NotAnInteger()]);
71 testServerSocketCreation(123, 123, 123); 71 testServerSocketCreation(123, 123, 123);
72 testServerSocketCreation("string", null, null); 72 testServerSocketCreation("string", null, null);
73 testServerSocketCreation("string", 123, null); 73 testServerSocketCreation("string", 123, null);
74 } 74 }
OLDNEW
« no previous file with comments | « tests/standalone/io/socket_info_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