| OLD | NEW | 
 | (Empty) | 
|   1 // Copyright (c) 2012, 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 uriNormalizePathTest; |  | 
|   6  |  | 
|   7 import "package:expect/expect.dart"; |  | 
|   8  |  | 
|   9 test(String path, String normalizedPath) { |  | 
|  10   for (var scheme in ["http", "file", "unknown"]) { |  | 
|  11     for (var auth in [ |  | 
|  12       [null, "hostname", null], |  | 
|  13       ["userinfo", "hostname", 1234], |  | 
|  14       [null, null, null] |  | 
|  15     ]) { |  | 
|  16       for (var query in [null, "query"]) { |  | 
|  17         for (var fragment in [null, "fragment"]) { |  | 
|  18           var base = new Uri( |  | 
|  19               scheme: scheme, |  | 
|  20               userInfo: auth[0], |  | 
|  21               host: auth[1], |  | 
|  22               port: auth[2], |  | 
|  23               path: path, |  | 
|  24               query: query, |  | 
|  25               fragment: fragment); |  | 
|  26           var expected = base.replace( |  | 
|  27               path: (base.hasAuthority && normalizedPath.isEmpty) |  | 
|  28                   ? "/" |  | 
|  29                   : normalizedPath); |  | 
|  30           var actual = base.normalizePath(); |  | 
|  31           Expect.equals(expected, actual, "$base"); |  | 
|  32         } |  | 
|  33       } |  | 
|  34     } |  | 
|  35   } |  | 
|  36 } |  | 
|  37  |  | 
|  38 testNoChange(String path) { |  | 
|  39   test(path, path); |  | 
|  40 } |  | 
|  41  |  | 
|  42 main() { |  | 
|  43   testNoChange("foo/bar/baz"); |  | 
|  44   testNoChange("/foo/bar/baz"); |  | 
|  45   testNoChange("foo/bar/baz/"); |  | 
|  46   test("foo/bar/..", "foo/"); |  | 
|  47   test("foo/bar/.", "foo/bar/"); |  | 
|  48   test("foo/./bar/../baz", "foo/baz"); |  | 
|  49   test("../../foo", "foo"); |  | 
|  50   test("./../foo", "foo"); |  | 
|  51   test("./../", ""); |  | 
|  52   test("./../.", ""); |  | 
|  53   test("foo/bar/baz/../../../../qux", "/qux"); |  | 
|  54   test("/foo/bar/baz/../../../../qux", "/qux"); |  | 
|  55   test(".", ""); |  | 
|  56   test("..", ""); |  | 
|  57   test("/.", "/"); |  | 
|  58   test("/..", "/"); |  | 
|  59 } |  | 
| OLD | NEW |