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("uses what's in the lockfile regardless of the pubspec", () { | |
14 d.dir("foo", [d.libDir("foo"), d.libPubspec("foo", "1.0.0")]).create(); | |
15 | |
16 d.dir(appPath, [d.appPubspec({ | |
17 "foo": { | |
18 "path": path.join(sandboxDir, "foo") | |
19 } | |
20 })]).create(); | |
21 | |
22 pubGet(); | |
23 | |
24 // Add a dependency on "bar" and remove "foo", but don't run "pub get". | |
25 d.dir(appPath, [d.appPubspec({ | |
26 "bar": "any" | |
27 })]).create(); | |
28 | |
29 // Note: Using canonicalize here because pub gets the path to the | |
30 // entrypoint package from the working directory, which has had symlinks | |
31 // resolve. On Mac, "/tmp" is actually a symlink to "/private/tmp", so we | |
32 // need to accomodate that. | |
33 schedulePub(args: ["list-package-dirs", "--format=json"], outputJson: { | |
34 "packages": { | |
35 "foo": path.join(sandboxDir, "foo", "lib"), | |
36 "myapp": canonicalize(path.join(sandboxDir, appPath, "lib")) | |
37 }, | |
38 "input_files": [ | |
39 canonicalize(path.join(sandboxDir, appPath, "pubspec.lock")), | |
40 canonicalize(path.join(sandboxDir, appPath, "pubspec.yaml"))] | |
41 }); | |
42 }); | |
43 } | |
OLD | NEW |