| // Copyright (c) 2017, 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. |
| |
| /// @assertion List<int> parseIPv6Address(String host, [int start = 0, int end]) |
| /// Parse the host as an IP version 6 (IPv6) address, returning the address as a |
| /// list of 16 bytes in network byte order (big endian). |
| /// ... |
| /// Acts on the substring from start to end. If end is omitted, it defaults ot |
| /// the end of the string. |
| /// @description Checks that if start and end parameters specified, then only |
| /// appropriate substring is parsed |
| /// @author sgrekhov@unipro.ru |
| |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| String address = "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210"; |
| List<int> expected = [254, 220, 186, 152, 118, 84, 50, 16, 254, 220, 186, 152, |
| 118, 84, 50, 16]; |
| Expect.listEquals(expected, Uri.parseIPv6Address("http://" + address + |
| ":8080", 7, 7 + address.length)); |
| |
| Expect.listEquals(expected, Uri.parseIPv6Address("http://" + address, 7)); |
| |
| Expect.throws(() { |
| Uri.parseIPv6Address("http://FEDC:BA98:7654:3210:FEDC:BA98:7654:3210:8080", |
| 7); |
| }, (e) => e is FormatException); |
| |
| } |