Fixed path normalization.
diff --git a/pkgs/package_config/.travis.yml b/pkgs/package_config/.travis.yml index b1279b7..7a20d25 100644 --- a/pkgs/package_config/.travis.yml +++ b/pkgs/package_config/.travis.yml
@@ -1,3 +1,4 @@ language: dart +dart: dev script: ./tool/travis.sh sudo: false
diff --git a/pkgs/package_config/lib/packagemap.dart b/pkgs/package_config/lib/packagemap.dart index 46a1797..25f27b9 100644 --- a/pkgs/package_config/lib/packagemap.dart +++ b/pkgs/package_config/lib/packagemap.dart
@@ -31,7 +31,7 @@ uri, "uri", "Path must not start with '/'."); } // Normalizes the path by removing '.' and '..' segments. - uri = _normalizePath(uri); + uri = uri.normalizePath(); String path = uri.path; var slashIndex = path.indexOf('/'); String packageName; @@ -51,10 +51,6 @@ return packageLocation.resolveUri(new Uri(path: rest)); } - /// A stand in for uri.normalizePath(), coming in 1.11 - static Uri _normalizePath(Uri existingUri) => - new Uri().resolveUri(existingUri); - /// Parses a `packages.cfg` file into a `Packages` object. /// /// The [baseLocation] is used as a base URI to resolve all relative @@ -189,12 +185,12 @@ } } - baseUri = _normalizePath(baseUri); + baseUri = baseUri.normalizePath(); List<String> base = baseUri.pathSegments.toList(); if (base.isNotEmpty) { base = new List<String>.from(base)..removeLast(); } - uri = _normalizePath(uri); + uri = uri.normalizePath(); List<String> target = uri.pathSegments.toList(); int index = 0; while (index < base.length && index < target.length) {