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

Unified Diff: utils/tests/pub/pubspec_test.dart

Issue 12433014: Dev dependencies. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: List all colliding package names. Created 7 years, 9 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
« no previous file with comments | « utils/tests/pub/dev_dependency_test.dart ('k') | utils/tests/pub/test_pub.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/tests/pub/pubspec_test.dart
diff --git a/utils/tests/pub/pubspec_test.dart b/utils/tests/pub/pubspec_test.dart
index 9813cf52c8bafcd76fe45ed7a357f68caf30da50..8b40664e2cceae798febfba511b0c73ee3ee7a35 100644
--- a/utils/tests/pub/pubspec_test.dart
+++ b/utils/tests/pub/pubspec_test.dart
@@ -25,154 +25,186 @@ class MockSource extends Source {
main() {
initConfig();
- group('Pubspec', () {
- group('parse()', () {
- var sources = new SourceRegistry();
- sources.register(new MockSource());
+ group('parse()', () {
+ var sources = new SourceRegistry();
+ sources.register(new MockSource());
- expectFormatError(String pubspec) {
- expect(() => new Pubspec.parse(null, pubspec, sources),
- throwsFormatException);
- }
+ expectFormatError(String pubspec) {
+ expect(() => new Pubspec.parse(null, pubspec, sources),
+ throwsFormatException);
+ }
- test("allows a version constraint for dependencies", () {
- var pubspec = new Pubspec.parse(null, '''
+ test("allows a version constraint for dependencies", () {
+ var pubspec = new Pubspec.parse(null, '''
dependencies:
foo:
mock: ok
version: ">=1.2.3 <3.4.5"
''', sources);
- var foo = pubspec.dependencies[0];
- expect(foo.name, equals('foo'));
- expect(foo.constraint.allows(new Version(1, 2, 3)), isTrue);
- expect(foo.constraint.allows(new Version(1, 2, 5)), isTrue);
- expect(foo.constraint.allows(new Version(3, 4, 5)), isFalse);
- });
+ var foo = pubspec.dependencies[0];
+ expect(foo.name, equals('foo'));
+ expect(foo.constraint.allows(new Version(1, 2, 3)), isTrue);
+ expect(foo.constraint.allows(new Version(1, 2, 5)), isTrue);
+ expect(foo.constraint.allows(new Version(3, 4, 5)), isFalse);
+ });
- test("allows an empty dependencies map", () {
- var pubspec = new Pubspec.parse(null, '''
+ test("allows an empty dependencies map", () {
+ var pubspec = new Pubspec.parse(null, '''
dependencies:
''', sources);
- expect(pubspec.dependencies, isEmpty);
- });
+ expect(pubspec.dependencies, isEmpty);
+ });
- test("throws if the description isn't valid", () {
- expectFormatError('''
+ test("allows a version constraint for dev dependencies", () {
+ var pubspec = new Pubspec.parse(null, '''
+dev_dependencies:
+ foo:
+ mock: ok
+ version: ">=1.2.3 <3.4.5"
+''', sources);
+
+ var foo = pubspec.devDependencies[0];
+ expect(foo.name, equals('foo'));
+ expect(foo.constraint.allows(new Version(1, 2, 3)), isTrue);
+ expect(foo.constraint.allows(new Version(1, 2, 5)), isTrue);
+ expect(foo.constraint.allows(new Version(3, 4, 5)), isFalse);
+ });
+
+ test("allows an empty dev dependencies map", () {
+ var pubspec = new Pubspec.parse(null, '''
+dev_dependencies:
+''', sources);
+
+ expect(pubspec.devDependencies, isEmpty);
+ });
+
+ test("throws if a package is in dependencies and dev_dependencies", () {
+ expectFormatError('''
+dependencies:
+ foo:
+ mock: ok
+dev_dependencies:
+ foo:
+ mock: ok
+''');
+ });
+
+ test("throws if the description isn't valid", () {
+ expectFormatError('''
dependencies:
foo:
mock: bad
''');
- });
+ });
- test("throws if 'name' is not a string", () {
- expectFormatError('name: [not, a, string]');
- });
+ test("throws if 'name' is not a string", () {
+ expectFormatError('name: [not, a, string]');
+ });
- test("throws if 'homepage' is not a string", () {
- expectFormatError('homepage:');
- expectFormatError('homepage: [not, a, string]');
- });
+ test("throws if 'homepage' is not a string", () {
+ expectFormatError('homepage:');
+ expectFormatError('homepage: [not, a, string]');
+ });
- test("throws if 'homepage' doesn't have an HTTP scheme", () {
- new Pubspec.parse(null, 'homepage: http://ok.com', sources);
- new Pubspec.parse(null, 'homepage: https://also-ok.com', sources);
+ test("throws if 'homepage' doesn't have an HTTP scheme", () {
+ new Pubspec.parse(null, 'homepage: http://ok.com', sources);
+ new Pubspec.parse(null, 'homepage: https://also-ok.com', sources);
- expectFormatError('homepage: ftp://badscheme.com');
- expectFormatError('homepage: javascript:alert("!!!")');
- expectFormatError('homepage: data:image/png;base64,somedata');
- expectFormatError('homepage: no-scheme.com');
- });
+ expectFormatError('homepage: ftp://badscheme.com');
+ expectFormatError('homepage: javascript:alert("!!!")');
+ expectFormatError('homepage: data:image/png;base64,somedata');
+ expectFormatError('homepage: no-scheme.com');
+ });
- test("throws if 'documentation' is not a string", () {
- expectFormatError('documentation:');
- expectFormatError('documentation: [not, a, string]');
- });
+ test("throws if 'documentation' is not a string", () {
+ expectFormatError('documentation:');
+ expectFormatError('documentation: [not, a, string]');
+ });
- test("throws if 'documentation' doesn't have an HTTP scheme", () {
- new Pubspec.parse(null, 'documentation: http://ok.com', sources);
- new Pubspec.parse(null, 'documentation: https://also-ok.com', sources);
+ test("throws if 'documentation' doesn't have an HTTP scheme", () {
+ new Pubspec.parse(null, 'documentation: http://ok.com', sources);
+ new Pubspec.parse(null, 'documentation: https://also-ok.com', sources);
- expectFormatError('documentation: ftp://badscheme.com');
- expectFormatError('documentation: javascript:alert("!!!")');
- expectFormatError('documentation: data:image/png;base64,somedata');
- expectFormatError('documentation: no-scheme.com');
- });
+ expectFormatError('documentation: ftp://badscheme.com');
+ expectFormatError('documentation: javascript:alert("!!!")');
+ expectFormatError('documentation: data:image/png;base64,somedata');
+ expectFormatError('documentation: no-scheme.com');
+ });
- test("throws if 'authors' is not a string or a list of strings", () {
- new Pubspec.parse(null, 'authors: ok fine', sources);
- new Pubspec.parse(null, 'authors: [also, ok, fine]', sources);
+ test("throws if 'authors' is not a string or a list of strings", () {
+ new Pubspec.parse(null, 'authors: ok fine', sources);
+ new Pubspec.parse(null, 'authors: [also, ok, fine]', sources);
- expectFormatError('authors: 123');
- expectFormatError('authors: {not: {a: string}}');
- expectFormatError('authors: [ok, {not: ok}]');
- });
+ expectFormatError('authors: 123');
+ expectFormatError('authors: {not: {a: string}}');
+ expectFormatError('authors: [ok, {not: ok}]');
+ });
- test("throws if 'author' is not a string", () {
- new Pubspec.parse(null, 'author: ok fine', sources);
+ test("throws if 'author' is not a string", () {
+ new Pubspec.parse(null, 'author: ok fine', sources);
- expectFormatError('author: 123');
- expectFormatError('author: {not: {a: string}}');
- expectFormatError('author: [not, ok]');
- });
+ expectFormatError('author: 123');
+ expectFormatError('author: {not: {a: string}}');
+ expectFormatError('author: [not, ok]');
+ });
- test("throws if both 'author' and 'authors' are present", () {
- expectFormatError('{author: abe, authors: ted}');
- });
+ test("throws if both 'author' and 'authors' are present", () {
+ expectFormatError('{author: abe, authors: ted}');
+ });
- test("allows comment-only files", () {
- var pubspec = new Pubspec.parse(null, '''
+ test("allows comment-only files", () {
+ var pubspec = new Pubspec.parse(null, '''
# No external dependencies yet
# Including for completeness
# ...and hoping the spec expands to include details about author, version, etc
# See http://www.dartlang.org/docs/pub-package-manager/ for details
''', sources);
- expect(pubspec.version, equals(Version.none));
- expect(pubspec.dependencies, isEmpty);
- });
+ expect(pubspec.version, equals(Version.none));
+ expect(pubspec.dependencies, isEmpty);
+ });
- group("environment", () {
- test("defaults to any SDK constraint if environment is omitted", () {
- var pubspec = new Pubspec.parse(null, '', sources);
- expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any));
- });
+ group("environment", () {
+ test("defaults to any SDK constraint if environment is omitted", () {
+ var pubspec = new Pubspec.parse(null, '', sources);
+ expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any));
+ });
- test("allows an empty environment map", () {
- var pubspec = new Pubspec.parse(null, '''
+ test("allows an empty environment map", () {
+ var pubspec = new Pubspec.parse(null, '''
environment:
''', sources);
- expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any));
- });
+ expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any));
+ });
- test("throws if the environment value isn't a map", () {
- expectFormatError('''
+ test("throws if the environment value isn't a map", () {
+ expectFormatError('''
environment: []
''');
- });
+ });
- test("allows a version constraint for the sdk", () {
- var pubspec = new Pubspec.parse(null, '''
+ test("allows a version constraint for the sdk", () {
+ var pubspec = new Pubspec.parse(null, '''
environment:
sdk: ">=1.2.3 <2.3.4"
''', sources);
- expect(pubspec.environment.sdkVersion,
- equals(new VersionConstraint.parse(">=1.2.3 <2.3.4")));
- });
+ expect(pubspec.environment.sdkVersion,
+ equals(new VersionConstraint.parse(">=1.2.3 <2.3.4")));
+ });
- test("throws if the sdk isn't a string", () {
- expectFormatError('''
+ test("throws if the sdk isn't a string", () {
+ expectFormatError('''
environment:
sdk: []
''');
- });
+ });
- test("throws if the sdk isn't a valid version constraint", () {
- expectFormatError('''
+ test("throws if the sdk isn't a valid version constraint", () {
+ expectFormatError('''
environment:
sdk: "oopies"
''');
- });
});
});
});
« no previous file with comments | « utils/tests/pub/dev_dependency_test.dart ('k') | utils/tests/pub/test_pub.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698