OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE d.file. |
4 | 4 |
5 import 'package:path/path.dart' as path; | 5 import 'package:path/path.dart' as path; |
6 | 6 |
7 import '../../lib/src/io.dart'; | 7 import '../../lib/src/io.dart'; |
8 import '../descriptor.dart' as d; | 8 import '../descriptor.dart' as d; |
9 import '../test_pub.dart'; | 9 import '../test_pub.dart'; |
10 | 10 |
11 main() { | 11 main() { |
12 initConfig(); | 12 initConfig(); |
13 integration("uses what's in the lockfile regardless of the pubspec", () { | 13 integration("uses what's in the lockfile regardless of the pubspec", () { |
14 d.dir("foo", [ | 14 d.dir("foo", [d.libDir("foo"), d.libPubspec("foo", "1.0.0")]).create(); |
15 d.libDir("foo"), | |
16 d.libPubspec("foo", "1.0.0") | |
17 ]).create(); | |
18 | 15 |
19 d.dir(appPath, [ | 16 d.dir(appPath, [d.appPubspec({ |
20 d.appPubspec({ | 17 "foo": { |
21 "foo": {"path": path.join(sandboxDir, "foo")} | 18 "path": path.join(sandboxDir, "foo") |
22 }) | 19 } |
23 ]).create(); | 20 })]).create(); |
24 | 21 |
25 pubGet(); | 22 pubGet(); |
26 | 23 |
27 // Add a dependency on "bar" and remove "foo", but don't run "pub get". | 24 // Add a dependency on "bar" and remove "foo", but don't run "pub get". |
28 d.dir(appPath, [ | 25 d.dir(appPath, [d.appPubspec({ |
29 d.appPubspec({ | |
30 "bar": "any" | 26 "bar": "any" |
31 }) | 27 })]).create(); |
32 ]).create(); | |
33 | 28 |
34 // Note: Using canonicalize here because pub gets the path to the | 29 // Note: Using canonicalize here because pub gets the path to the |
35 // entrypoint package from the working directory, which has had symlinks | 30 // entrypoint package from the working directory, which has had symlinks |
36 // resolve. On Mac, "/tmp" is actually a symlink to "/private/tmp", so we | 31 // resolve. On Mac, "/tmp" is actually a symlink to "/private/tmp", so we |
37 // need to accomodate that. | 32 // need to accomodate that. |
38 schedulePub(args: ["list-package-dirs", "--format=json"], | 33 schedulePub(args: ["list-package-dirs", "--format=json"], outputJson: { |
39 outputJson: { | 34 "packages": { |
40 "packages": { | 35 "foo": path.join(sandboxDir, "foo", "lib"), |
41 "foo": path.join(sandboxDir, "foo", "lib"), | 36 "myapp": canonicalize(path.join(sandboxDir, appPath, "lib")) |
42 "myapp": canonicalize(path.join(sandboxDir, appPath, "lib")) | 37 }, |
43 }, | 38 "input_files": [ |
44 "input_files": [ | 39 canonicalize(path.join(sandboxDir, appPath, "pubspec.lock")), |
45 canonicalize(path.join(sandboxDir, appPath, "pubspec.lock")), | 40 canonicalize(path.join(sandboxDir, appPath, "pubspec.yaml"))] |
46 canonicalize(path.join(sandboxDir, appPath, "pubspec.yaml")) | 41 }); |
47 ] | |
48 }); | |
49 }); | 42 }); |
50 } | 43 } |
OLD | NEW |