Chromium Code Reviews| Index: test/get/package_name_test.dart |
| diff --git a/test/get/package_name_test.dart b/test/get/package_name_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..85955a2c263ae5e52fc4bf0ad6fe147a57c8d9ac |
| --- /dev/null |
| +++ b/test/get/package_name_test.dart |
| @@ -0,0 +1,70 @@ |
| +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS 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 file. |
| + |
| +import 'package:scheduled_test/scheduled_test.dart'; |
| + |
| +import 'package:pub/src/exit_codes.dart' as exit_codes; |
| + |
| +import '../descriptor.dart' as d; |
| +import '../test_pub.dart'; |
| + |
| +main() { |
| + integration("pub get fails with a non-identifier name", () { |
| + d.dir(appPath, [ |
| + d.pubspec({ |
| + "name": "invalid package name", |
| + "version": "1.0.0" |
| + }) |
| + ]).create(); |
| + |
| + pubGet( |
| + error: contains('"name" field must be a valid Dart identifier.'), |
| + exitCode: exit_codes.DATA); |
| + |
| + d.dir(appPath, [ |
| + // The lockfile should not be created. |
| + d.nothing("pubspec.lock"), |
| + // The "packages" directory should not have been generated. |
| + d.nothing("packages"), |
| + // The ".packages" file should not have been created. |
| + d.nothing(".packages"), |
| + ]).validate(); |
| + }); |
| + |
| + integration("pub get fails with a reserved word name", () { |
| + d.dir(appPath, [ |
| + d.pubspec({ |
| + "name": "return", |
| + "version": "1.0.0" |
| + }) |
| + ]).create(); |
| + |
| + pubGet( |
| + error: contains('"name" field may not be a Dart reserved word.'), |
| + exitCode: exit_codes.DATA); |
| + |
| + d.dir(appPath, [ |
| + // The lockfile should not be created. |
| + d.nothing("pubspec.lock"), |
| + // The "packages" directory should not have been generated. |
| + d.nothing("packages"), |
| + // The ".packages" file should not have been created. |
| + d.nothing(".packages"), |
| + ]).validate(); |
| + }); |
| + |
| + integration("pub get allows a name with dotted identifiers", () { |
| + d.dir(appPath, [ |
| + d.pubspec({ |
| + "name": "foo.bar.baz", |
| + "version": "1.0.0" |
| + }), |
| + d.libDir("foo.bar.baz", "foo.bar.baz 1.0.0") |
| + ]).create(); |
| + |
| + pubGet(); |
| + |
| + d.packagesDir({"foo.bar.baz": "1.0.0"}).validate(); |
| + }); |
|
Bob Nystrom
2015/12/01 23:21:15
What about "for.if.return"?
nweiz
2015/12/02 00:29:01
I don't particularly mind if someone does that. On
|
| +} |