| Index: test/packages_file_test.dart
|
| diff --git a/test/packages_file_test.dart b/test/packages_file_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..742d1b24b951b0f918bd8906418c8046be771ca8
|
| --- /dev/null
|
| +++ b/test/packages_file_test.dart
|
| @@ -0,0 +1,90 @@
|
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS d.file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE d.file.
|
| +
|
| +import 'descriptor.dart' as d;
|
| +import 'test_pub.dart';
|
| +
|
| +main() {
|
| + initConfig();
|
| + forBothPubGetAndUpgrade((command) {
|
| + integration('.packages file is created', () {
|
| + servePackages((builder) {
|
| + builder.serve("foo", "1.2.3",
|
| + deps: {'baz': '2.2.2'}, contents: [d.dir("lib", [])]);
|
| + builder.serve("bar", "3.2.1", contents: [d.dir("lib", [])]);
|
| + builder.serve("baz", "2.2.2",
|
| + deps: {"bar": "3.2.1"}, contents: [d.dir("lib", [])]);
|
| + });
|
| +
|
| + d.appDir({"foo": "1.2.3"}).create();
|
| +
|
| + pubCommand(command);
|
| +
|
| + d.dir(appPath, [d.packagesFile({
|
| + "foo": "1.2.3", "bar": "3.2.1", "baz": "2.2.2", "myapp": "0.0.0"})])
|
| + .validate();
|
| + });
|
| +
|
| + integration('.packages file is overwritten', () {
|
| + servePackages((builder) {
|
| + builder.serve("foo", "1.2.3",
|
| + deps: {'baz': '2.2.2'}, contents: [d.dir("lib", [])]);
|
| + builder.serve("bar", "3.2.1", contents: [d.dir("lib", [])]);
|
| + builder.serve("baz", "2.2.2",
|
| + deps: {"bar": "3.2.1"}, contents: [d.dir("lib", [])]);
|
| + });
|
| +
|
| + d.appDir({"foo": "1.2.3"}).create();
|
| +
|
| + var oldFile = d.dir(appPath, [d.packagesFile({"notFoo": "9.9.9"})]);
|
| + oldFile.create();
|
| + oldFile.validate(); // Sanity-check that file was created correctly.
|
| +
|
| + pubCommand(command);
|
| +
|
| + d.dir(appPath, [d.packagesFile({
|
| + "foo": "1.2.3", "bar": "3.2.1", "baz": "2.2.2", "myapp": "0.0.0"})])
|
| + .validate();
|
| + });
|
| +
|
| + integration('.packages file is not created if pub command fails', () {
|
| + d.appDir({"foo": "1.2.3"}).create();
|
| +
|
| + pubCommand(command, args: ['--offline'],
|
| + error: "Could not find package foo in cache.\n");
|
| +
|
| + d.dir(appPath, [d.nothing('.packages')]).validate();
|
| + });
|
| +
|
| + integration('.packages file has relative path to path dependency', () {
|
| + servePackages((builder) {
|
| + builder.serve("foo", "1.2.3",
|
| + deps: {'baz': 'any'}, contents: [d.dir("lib", [])]);
|
| + builder.serve("baz", "9.9.9",
|
| + deps: {}, contents: [d.dir("lib", [])]);
|
| + });
|
| +
|
| + d.dir("local_baz", [
|
| + d.libDir("baz", 'baz 3.2.1'),
|
| + d.libPubspec("baz", "3.2.1")
|
| + ]).create();
|
| +
|
| + d.dir(appPath, [
|
| + d.pubspec({
|
| + "name": "myapp",
|
| + "dependencies": {},
|
| + "dependency_overrides": {
|
| + "baz": {"path": "../local_baz"},
|
| + }
|
| + })
|
| + ]).create();
|
| +
|
| + pubCommand(command);
|
| +
|
| + d.dir(appPath, [d.packagesFile({"myapp": "0.0.0",
|
| + "baz": "../local_baz"})]).validate();
|
| + });
|
| +
|
| + });
|
| +}
|
|
|