Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: utils/tests/pub/install/path/relative_path_test.dart

Issue 12294039: Support relative paths in path dependencies. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revise Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..497283be3d253c96c74168861f6bdf66d24f7998 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();
});
-}
+}
« no previous file with comments | « utils/tests/pub/install/path/absolute_symlink_test.dart ('k') | utils/tests/pub/install/path/relative_symlink_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698