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