OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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 d.file. |
| 4 |
| 5 import 'package:path/path.dart' as path; |
| 6 |
| 7 import '../../lib/src/io.dart'; |
| 8 import '../descriptor.dart' as d; |
| 9 import '../test_pub.dart'; |
| 10 |
| 11 main() { |
| 12 initConfig(); |
| 13 integration('prints the local paths to all packages in the lockfile', () { |
| 14 servePackages((builder) => builder.serve("bar", "1.0.0")); |
| 15 |
| 16 d.dir("foo", [d.libDir("foo"), d.libPubspec("foo", "1.0.0")]).create(); |
| 17 |
| 18 d.dir(appPath, [d.appPubspec({ |
| 19 "foo": { |
| 20 "path": path.join(sandboxDir, "foo") |
| 21 }, |
| 22 "bar": "any" |
| 23 })]).create(); |
| 24 |
| 25 pubGet(); |
| 26 |
| 27 // Note: Using canonicalize here because pub gets the path to the |
| 28 // entrypoint package from the working directory, which has had symlinks |
| 29 // resolve. On Mac, "/tmp" is actually a symlink to "/private/tmp", so we |
| 30 // need to accomodate that. |
| 31 schedulePub(args: ["list-package-dirs", "--format=json"], outputJson: { |
| 32 "packages": { |
| 33 "foo": path.join(sandboxDir, "foo", "lib"), |
| 34 "bar": port.then( |
| 35 (p) => |
| 36 path.join( |
| 37 sandboxDir, |
| 38 cachePath, |
| 39 "hosted", |
| 40 "localhost%58$p", |
| 41 "bar-1.0.0", |
| 42 "lib")), |
| 43 "myapp": canonicalize(path.join(sandboxDir, appPath, "lib")) |
| 44 }, |
| 45 "input_files": [ |
| 46 canonicalize(path.join(sandboxDir, appPath, "pubspec.lock")), |
| 47 canonicalize(path.join(sandboxDir, appPath, "pubspec.yaml"))] |
| 48 }); |
| 49 }); |
| 50 } |
OLD | NEW |