| // 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); |
| |
| } |