Index: utils/tests/pub/install/path/relative_symlink_test.dart |
diff --git a/utils/tests/pub/install/path/absolute_path_test.dart b/utils/tests/pub/install/path/relative_symlink_test.dart |
similarity index 51% |
copy from utils/tests/pub/install/path/absolute_path_test.dart |
copy to utils/tests/pub/install/path/relative_symlink_test.dart |
index cef0a760b07a95788a5b70111968d06c285b47bb..b4451aa2af133b3fa0b49bc9c721e2b181b8225a 100644 |
--- a/utils/tests/pub/install/path/absolute_path_test.dart |
+++ b/utils/tests/pub/install/path/relative_symlink_test.dart |
@@ -4,21 +4,23 @@ |
import '../../../../../pkg/path/lib/path.dart' as path; |
+import '../../../../pub/exit_codes.dart' as exit_codes; |
import '../../test_pub.dart'; |
main() { |
initConfig(); |
- integration('path dependency with absolute path', () { |
- dir('foo', [ |
- libDir('foo'), |
- libPubspec('foo', '0.0.1') |
+ integration("generates a symlink with a relative path if the dependency " |
+ "path was relative", () { |
+ dir("foo", [ |
+ libDir("foo"), |
+ libPubspec("foo", "0.0.1") |
]).scheduleCreate(); |
dir(appPath, [ |
pubspec({ |
"name": "myapp", |
"dependencies": { |
- "foo": {"path": path.join(sandboxDir, "foo")} |
+ "foo": {"path": "../foo"} |
} |
}) |
]).scheduleCreate(); |
@@ -26,20 +28,18 @@ main() { |
schedulePub(args: ["install"], |
output: new RegExp(r"Dependencies installed!$")); |
- dir(packagesPath, [ |
- dir("foo", [ |
- file("foo.dart", 'main() => "foo";') |
- ]) |
- ]).scheduleValidate(); |
- |
- // Move the packages directory and ensure the symlink still works. That |
- // will validate that we actually created an absolute symlink. |
dir("moved").scheduleCreate(); |
- scheduleRename(packagesPath, "moved/packages"); |
- dir("moved/packages", [ |
- dir("foo", [ |
- file("foo.dart", 'main() => "foo";') |
+ // Move the app and package. Since they are still next to each other, it |
+ // should still be found. |
+ scheduleRename("foo", path.join("moved", "foo")); |
+ scheduleRename(appPath, path.join("moved", appPath)); |
+ |
+ dir("moved", [ |
+ dir(packagesPath, [ |
+ dir("foo", [ |
+ file("foo.dart", 'main() => "foo";') |
+ ]) |
]) |
]).scheduleValidate(); |
}); |