|  | // 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 "package:async_helper/async_helper.dart"; | 
|  | import "package:expect/expect.dart"; | 
|  |  | 
|  | class NotAnInteger { | 
|  | operator ==(other) => other == 1; | 
|  | operator <(other) => other > 1; | 
|  | operator +(other) => 1; | 
|  | } | 
|  |  | 
|  | testSocketCreation(host, port) { | 
|  | asyncStart(); | 
|  | try { | 
|  | Socket.connect(host, port) | 
|  | .then((socket) => Expect.fail("Shouldn't get connected")) | 
|  | .catchError((e) { | 
|  | Expect.isTrue(e is ArgumentError || e is SocketException); | 
|  | asyncEnd(); | 
|  | }); | 
|  | } catch (e) { | 
|  | Expect.isTrue(e is ArgumentError || e is SocketException); | 
|  | asyncEnd(); | 
|  | } | 
|  | } | 
|  |  | 
|  | testServerSocketCreation(address, port, backlog) { | 
|  | asyncStart(); | 
|  | var server; | 
|  | try { | 
|  | ServerSocket.bind(address, port, backlog: backlog).then((_) { | 
|  | Expect.fail("ServerSocket bound"); | 
|  | }).catchError((e) => asyncEnd()); | 
|  | } catch (e) { | 
|  | asyncEnd(); | 
|  | } | 
|  | } | 
|  |  | 
|  | main() { | 
|  | asyncStart(); | 
|  | testSocketCreation("localhost", -1); | 
|  | testSocketCreation("localhost", 65536); | 
|  | testServerSocketCreation("string", null, null); | 
|  | testServerSocketCreation("string", 123, null); | 
|  | testServerSocketCreation("localhost", -1, 123); | 
|  | testServerSocketCreation("localhost", 65536, 123); | 
|  | asyncEnd(); | 
|  | } |