| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| 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. |
| 4 |
| 5 library uri.examples; |
| 6 |
| 7 // Examples from the Uri class documentation. |
| 8 // Get an error if the documentation starts to be wrong. |
| 9 // REMEMBER TO UPDATE BOTH. |
| 10 |
| 11 import "package:expect/expect.dart"; |
| 12 import 'dart:convert'; |
| 13 |
| 14 main() { |
| 15 // Uri.http |
| 16 test("http://example.org/path?q=dart", |
| 17 new Uri.http("example.org", "/path", { "q" : "dart" })); |
| 18 test("http://user:pass@localhost:8080", |
| 19 new Uri.http("user:pass@localhost:8080", "")); |
| 20 test("http://example.org/a%20b", new Uri.http("example.org", "a b")); |
| 21 test("http://example.org/a%252F", new Uri.http("example.org", "/a%2F")); |
| 22 |
| 23 // Uri.file |
| 24 test("xxx/yyy", new Uri.file("xxx/yyy", windows: false)); |
| 25 test("xxx/yyy/", new Uri.file("xxx/yyy/", windows: false)); |
| 26 test("file:///xxx/yyy", new Uri.file("/xxx/yyy", windows: false)); |
| 27 test("file:///xxx/yyy/", new Uri.file("/xxx/yyy/", windows: false)); |
| 28 test("C%3A", new Uri.file("C:", windows: false)); |
| 29 test("xxx/yyy", new Uri.file(r"xxx\yyy", windows: true)); |
| 30 test("xxx/yyy/", new Uri.file(r"xxx\yyy\", windows: true)); |
| 31 test("file:///xxx/yyy", new Uri.file(r"\xxx\yyy", windows: true)); |
| 32 test("file:///xxx/yyy/", new Uri.file(r"\xxx\yyy/", windows: true)); |
| 33 test("file:///C:/xxx/yyy", new Uri.file(r"C:\xxx\yyy", windows: true)); |
| 34 test("file://server/share/file", |
| 35 new Uri.file(r"\\server\share\file", windows: true)); |
| 36 Expect.throws(() => new Uri.file(r"C:", windows: true)); |
| 37 Expect.throws(() => new Uri.file(r"C:xxx\yyy", windows: true)); |
| 38 |
| 39 // isScheme. |
| 40 var uri = Uri.parse("http://example.com/"); |
| 41 Expect.isTrue(uri.isScheme("HTTP")); |
| 42 |
| 43 // toFilePath. |
| 44 Expect.equals(r"xxx/yyy", Uri.parse("xxx/yyy").toFilePath(windows: false)); |
| 45 Expect.equals(r"xxx/yyy/", Uri.parse("xxx/yyy/").toFilePath(windows: false)); |
| 46 Expect.equals(r"/xxx/yyy", |
| 47 Uri.parse("file:///xxx/yyy").toFilePath(windows: false)); |
| 48 Expect.equals(r"/xxx/yyy/", |
| 49 Uri.parse("file:///xxx/yyy/").toFilePath(windows: false)); |
| 50 Expect.equals(r"/C:", Uri.parse("file:///C:").toFilePath(windows: false)); |
| 51 Expect.equals(r"/C:a", Uri.parse("file:///C:a").toFilePath(windows: false)); |
| 52 |
| 53 Expect.equals(r"xxx\yyy", Uri.parse("xxx/yyy").toFilePath(windows: true)); |
| 54 Expect.equals(r"xxx\yyy\", Uri.parse("xxx/yyy/").toFilePath(windows: true)); |
| 55 Expect.equals(r"\xxx\yyy", |
| 56 Uri.parse("file:///xxx/yyy").toFilePath(windows: true)); |
| 57 Expect.equals(r"\xxx\yyy\", |
| 58 Uri.parse("file:///xxx/yyy/").toFilePath(windows: true)); |
| 59 Expect.equals(r"C:\xxx\yyy", |
| 60 Uri.parse("file:///C:/xxx/yyy").toFilePath(windows: true)); |
| 61 Expect.throws(() => Uri.parse("file:C:xxx/yyy").toFilePath(windows: true)); |
| 62 Expect.equals(r"\\server\share\file", |
| 63 Uri.parse("file://server/share/file").toFilePath(windows: true)); // |
| 64 |
| 65 // replace. |
| 66 Uri uri1 = Uri.parse("a://b@c:4/d/e?f#g"); |
| 67 Uri uri2 = uri1.replace(scheme: "A", path: "D/E/E", fragment: "G"); |
| 68 Expect.equals("a://b@c:4/D/E/E?f#G", "$uri2"); |
| 69 Uri uri3 = new Uri( |
| 70 scheme: "A", |
| 71 userInfo: uri1.userInfo, |
| 72 host: uri1.host, |
| 73 port: uri1.port, |
| 74 path: "D/E/E", |
| 75 query: uri1.query, |
| 76 fragment: "G"); |
| 77 Expect.equals("a://b@c:4/D/E/E?f#G", "$uri3"); |
| 78 Expect.equals(uri2, uri3); |
| 79 |
| 80 // UriData.mimeType |
| 81 var data = UriData.parse("data:text/plain;charset=utf-8,Hello%20World!"); |
| 82 Expect.equals("text/plain", data.mimeType); |
| 83 Expect.equals("utf-8", data.charset); |
| 84 |
| 85 // Uri.parseIPv6Address - shouldn't throw. |
| 86 Uri.parseIPv6Address("::1"); |
| 87 Uri.parseIPv6Address("FEDC:BA98:7654:3210:FEDC:BA98:7654:3210"); |
| 88 Uri.parseIPv6Address("3ffe:2a00:100:7031::1"); |
| 89 Uri.parseIPv6Address("::FFFF:129.144.52.38"); |
| 90 Uri.parseIPv6Address("2010:836B:4179::836B:4179"); |
| 91 } |
| 92 |
| 93 test(String result, Uri value) { |
| 94 Expect.equals(Uri.parse(result), value); |
| 95 Expect.equals(result, value.toString()); |
| 96 } |
| OLD | NEW |