| Index: utils/tests/pub/install/path/relative_path_test.dart
|
| diff --git a/utils/tests/pub/install/path/relative_path_test.dart b/utils/tests/pub/install/path/relative_path_test.dart
|
| index 56fe28a061b98c8c1e7aaec8fa79911662db9380..58d65a5e2354121e737f204d1aeebdb86913c316 100644
|
| --- a/utils/tests/pub/install/path/relative_path_test.dart
|
| +++ b/utils/tests/pub/install/path/relative_path_test.dart
|
| @@ -2,12 +2,19 @@
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| +import '../../../../../pkg/path/lib/path.dart' as path;
|
| +
|
| import '../../../../pub/exit_codes.dart' as exit_codes;
|
| import '../../test_pub.dart';
|
|
|
| main() {
|
| initConfig();
|
| - integration('path dependencies cannot use relative paths', () {
|
| + integration("can use relative path", () {
|
| + dir("foo", [
|
| + libDir("foo"),
|
| + libPubspec("foo", "0.0.1")
|
| + ]).scheduleCreate();
|
| +
|
| dir(appPath, [
|
| pubspec({
|
| "name": "myapp",
|
| @@ -17,9 +24,49 @@ main() {
|
| })
|
| ]).scheduleCreate();
|
|
|
| - schedulePub(args: ['install'],
|
| - error: new RegExp("Path dependency for package 'foo' must be an "
|
| - "absolute path. Was '../foo'."),
|
| - exitCode: exit_codes.DATA);
|
| + schedulePub(args: ["install"],
|
| + output: new RegExp(r"Dependencies installed!$"));
|
| +
|
| + dir(packagesPath, [
|
| + dir("foo", [
|
| + file("foo.dart", 'main() => "foo";')
|
| + ])
|
| + ]).scheduleValidate();
|
| + });
|
| +
|
| + integration("path is relative to containing pubspec", () {
|
| + dir("relative", [
|
| + dir("foo", [
|
| + libDir("foo"),
|
| + libPubspec("foo", "0.0.1", deps: [
|
| + {"path": "../bar"}
|
| + ])
|
| + ]),
|
| + dir("bar", [
|
| + libDir("bar"),
|
| + libPubspec("bar", "0.0.1")
|
| + ])
|
| + ]).scheduleCreate();
|
| +
|
| + dir(appPath, [
|
| + pubspec({
|
| + "name": "myapp",
|
| + "dependencies": {
|
| + "foo": {"path": "../relative/foo"}
|
| + }
|
| + })
|
| + ]).scheduleCreate();
|
| +
|
| + schedulePub(args: ["install"],
|
| + output: new RegExp(r"Dependencies installed!$"));
|
| +
|
| + dir(packagesPath, [
|
| + dir("foo", [
|
| + file("foo.dart", 'main() => "foo";')
|
| + ]),
|
| + dir("bar", [
|
| + file("bar.dart", 'main() => "bar";')
|
| + ])
|
| + ]).scheduleValidate();
|
| });
|
| }
|
|
|