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 |