| // Copyright (c) 2012, 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"; |
| |
| class NotAnInteger { |
| operator==(other) => other == 1; |
| operator<(other) => other > 1; |
| operator+(other) => 1; |
| } |
| |
| class NotAList { |
| get length => 10; |
| operator[](index) => 1; |
| } |
| |
| testSocketCreation(host, port) { |
| var s = new Socket(host, port); |
| s.onError = (e) => null; |
| s.onConnect = () => Expect.fail("Shouldn't get connected"); |
| } |
| |
| 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; |
| } |
| |
| testServerSocketCreation(address, port, backlog) { |
| var server; |
| try { |
| server = new ServerSocket(address, port, backlog); |
| server.onError = (e) => null; |
| server.onConnection = (c) => Expect.fail("Shouldn't get connection"); |
| } catch (e) { |
| // ignore |
| } |
| } |
| |
| 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); |
| testServerSocketCreation(123, 123, 123); |
| testServerSocketCreation("string", null, null); |
| testServerSocketCreation("string", 123, null); |
| } |