OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library pubspec_test; | 5 library pubspec_test; |
6 | 6 |
7 import '../../../pkg/unittest/lib/unittest.dart'; | 7 import '../../../pkg/unittest/lib/unittest.dart'; |
| 8 import 'test_pub.dart'; |
8 import '../../pub/pubspec.dart'; | 9 import '../../pub/pubspec.dart'; |
9 import '../../pub/source.dart'; | 10 import '../../pub/source.dart'; |
10 import '../../pub/source_registry.dart'; | 11 import '../../pub/source_registry.dart'; |
11 import '../../pub/utils.dart'; | 12 import '../../pub/utils.dart'; |
12 import '../../pub/version.dart'; | 13 import '../../pub/version.dart'; |
13 | 14 |
14 class MockSource extends Source { | 15 class MockSource extends Source { |
15 final String name = "mock"; | 16 final String name = "mock"; |
16 final bool shouldCache = false; | 17 final bool shouldCache = false; |
17 void validateDescription(description, {bool fromLockFile: false}) { | 18 void validateDescription(description, {bool fromLockFile: false}) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 test("allows comment-only files", () { | 106 test("allows comment-only files", () { |
106 var pubspec = new Pubspec.parse(''' | 107 var pubspec = new Pubspec.parse(''' |
107 # No external dependencies yet | 108 # No external dependencies yet |
108 # Including for completeness | 109 # Including for completeness |
109 # ...and hoping the spec expands to include details about author, version, etc | 110 # ...and hoping the spec expands to include details about author, version, etc |
110 # See http://www.dartlang.org/docs/pub-package-manager/ for details | 111 # See http://www.dartlang.org/docs/pub-package-manager/ for details |
111 ''', sources); | 112 ''', sources); |
112 expect(pubspec.version, equals(Version.none)); | 113 expect(pubspec.version, equals(Version.none)); |
113 expect(pubspec.dependencies, isEmpty); | 114 expect(pubspec.dependencies, isEmpty); |
114 }); | 115 }); |
| 116 |
| 117 group("environment", () { |
| 118 test("defaults to any SDK constraint if environment is omitted", () { |
| 119 var pubspec = new Pubspec.parse('', sources); |
| 120 expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any)); |
| 121 }); |
| 122 |
| 123 test("allows an empty environment map", () { |
| 124 var pubspec = new Pubspec.parse(''' |
| 125 environment: |
| 126 ''', sources); |
| 127 expect(pubspec.environment.sdkVersion, equals(VersionConstraint.any)); |
| 128 }); |
| 129 |
| 130 test("throws if the environment value isn't a map", () { |
| 131 expectFormatError(''' |
| 132 environment: [] |
| 133 '''); |
| 134 }); |
| 135 |
| 136 test("allows a version constraint for the sdk", () { |
| 137 var pubspec = new Pubspec.parse(''' |
| 138 environment: |
| 139 sdk: ">=1.2.3 <2.3.4" |
| 140 ''', sources); |
| 141 expect(pubspec.environment.sdkVersion, |
| 142 equals(new VersionConstraint.parse(">=1.2.3 <2.3.4"))); |
| 143 }); |
| 144 |
| 145 test("throws if the sdk isn't a string", () { |
| 146 expectFormatError(''' |
| 147 environment: |
| 148 sdk: [] |
| 149 '''); |
| 150 }); |
| 151 |
| 152 test("throws if the sdk isn't a valid version constraint", () { |
| 153 expectFormatError(''' |
| 154 environment: |
| 155 sdk: "oopies" |
| 156 '''); |
| 157 }); |
| 158 }); |
115 }); | 159 }); |
116 }); | 160 }); |
117 } | 161 } |
OLD | NEW |