| Index: utils/tests/pub/pub_install_test.dart
|
| diff --git a/utils/tests/pub/pub_install_test.dart b/utils/tests/pub/pub_install_test.dart
|
| index 2e0408583c6247d315bae40aadce91ebf33ef009..6e27b05abb787f9c8ce24220940e82809e5d3a77 100644
|
| --- a/utils/tests/pub/pub_install_test.dart
|
| +++ b/utils/tests/pub/pub_install_test.dart
|
| @@ -35,30 +35,71 @@ main() {
|
| });
|
| });
|
|
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - test('creates a self-referential symlink', () {
|
| + test('adds itself to the packages', () {
|
| // The symlink should use the name in the pubspec, not the name of the
|
| // directory.
|
| dir(appPath, [
|
| - pubspec({"name": "myapp_name"})
|
| + pubspec({"name": "myapp_name"}),
|
| + libDir('foo'),
|
| ]).scheduleCreate();
|
|
|
| schedulePub(args: ['install'],
|
| output: const RegExp(@"Dependencies installed!$"));
|
|
|
| dir(packagesPath, [
|
| - dir("myapp_name", [pubspec({"name": "myapp_name"})])
|
| + dir("myapp_name", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ]).scheduleValidate();
|
|
|
| run();
|
| });
|
| - */
|
| +
|
| + test('does not adds itself to the packages if it has no "lib" directory', () {
|
| + // The symlink should use the name in the pubspec, not the name of the
|
| + // directory.
|
| + dir(appPath, [
|
| + pubspec({"name": "myapp_name"}),
|
| + ]).scheduleCreate();
|
| +
|
| + schedulePub(args: ['install'],
|
| + output: const RegExp(@"Dependencies installed!$"));
|
| +
|
| + dir(packagesPath, [
|
| + nothing("myapp_name")
|
| + ]).scheduleValidate();
|
| +
|
| + run();
|
| + });
|
| +
|
| + test('does not add a package if it does not have a "lib" directory', () {
|
| + // Using an SDK source, but this should be true of all sources.
|
| + dir(sdkPath, [
|
| + file('revision', '1234'),
|
| + dir('pkg', [
|
| + dir('foo', [])
|
| + ])
|
| + ]).scheduleCreate();
|
| +
|
| + dir(appPath, [
|
| + pubspec({"name": "myapp", "dependencies": {"foo": {"sdk": "foo"}}})
|
| + ]).scheduleCreate();
|
| +
|
| + schedulePub(args: ['install'],
|
| + output: '''
|
| + Dependencies installed!
|
| + ''');
|
| +
|
| + packagesDir({"foo": null}).scheduleValidate();
|
| +
|
| + run();
|
| + });
|
|
|
| group('creates a packages directory in', () {
|
| test('"test/" and its subdirectories', () {
|
| dir(appPath, [
|
| appPubspec([]),
|
| + libDir('foo'),
|
| dir("test", [dir("subtest")])
|
| ]).scheduleCreate();
|
|
|
| @@ -68,17 +109,15 @@ main() {
|
| dir(appPath, [
|
| dir("test", [
|
| dir("packages", [
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - dir("myapp", [appPubspec([])])
|
| - */
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ]),
|
| dir("subtest", [
|
| dir("packages", [
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - dir("myapp", [appPubspec([])])
|
| - */
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ])
|
| ])
|
| ])
|
| @@ -90,6 +129,7 @@ main() {
|
| test('"example/" and its subdirectories', () {
|
| dir(appPath, [
|
| appPubspec([]),
|
| + libDir('foo'),
|
| dir("example", [dir("subexample")])
|
| ]).scheduleCreate();
|
|
|
| @@ -99,17 +139,15 @@ main() {
|
| dir(appPath, [
|
| dir("example", [
|
| dir("packages", [
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - dir("myapp", [appPubspec([])])
|
| - */
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ]),
|
| dir("subexample", [
|
| dir("packages", [
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - dir("myapp", [appPubspec([])])
|
| - */
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ])
|
| ])
|
| ])
|
| @@ -121,6 +159,7 @@ main() {
|
| test('"bin/"', () {
|
| dir(appPath, [
|
| appPubspec([]),
|
| + libDir('foo'),
|
| dir("bin")
|
| ]).scheduleCreate();
|
|
|
| @@ -130,10 +169,9 @@ main() {
|
| dir(appPath, [
|
| dir("bin", [
|
| dir("packages", [
|
| - // TODO(rnystrom): Re-enable this when #4820 is fixed.
|
| - /*
|
| - dir("myapp", [appPubspec([])])
|
| - */
|
| + dir("myapp", [
|
| + file('foo.dart', 'main() => "foo";')
|
| + ])
|
| ])
|
| ])
|
| ]).scheduleValidate();
|
|
|