Index: sdk/lib/_internal/pub/test/validator/dependency_test.dart |
diff --git a/sdk/lib/_internal/pub/test/validator/dependency_test.dart b/sdk/lib/_internal/pub/test/validator/dependency_test.dart |
index 8c53c744c9ef64482df360a1ac31579661b12f85..dd301294c0dce744463a2fa28063ab0a6e51f4f3 100644 |
--- a/sdk/lib/_internal/pub/test/validator/dependency_test.dart |
+++ b/sdk/lib/_internal/pub/test/validator/dependency_test.dart |
@@ -57,9 +57,20 @@ setUpDependency(Map dep, {List<String> hostedVersions}) { |
main() { |
initConfig(); |
- integration('should consider a package valid if it looks normal', () { |
- d.validPackage.create(); |
- expectNoValidationError(dependency); |
+ group('should consider a package valid if it', () { |
+ integration('looks normal', () { |
+ d.validPackage.create(); |
+ expectNoValidationError(dependency); |
+ }); |
+ |
+ integration('has a ^ constraint with an appropriate SDK constraint', () { |
+ d.dir(appPath, [ |
+ d.libPubspec("test_pkg", "1.0.0", deps: { |
+ "foo": "^1.2.3" |
+ }, sdk: ">=1.8.0 <2.0.0") |
+ ]).create(); |
+ expectNoValidationError(dependency); |
+ }); |
}); |
group('should consider a package invalid if it', () { |
@@ -380,5 +391,27 @@ main() { |
expectDependencyValidationWarning(' foo: ">1.2.3 <2.0.0"'); |
}); |
}); |
+ |
+ group('has a ^ dependency', () { |
+ integration("without an SDK constraint", () { |
+ d.dir(appPath, [ |
+ d.libPubspec("integration_pkg", "1.0.0", deps: { |
+ "foo": "^1.2.3" |
+ }) |
+ ]).create(); |
+ |
+ expectDependencyValidationError(' foo: ">=1.2.3 <2.0.0"'); |
+ }); |
+ |
+ integration("with a too-broad SDK constraint", () { |
+ d.dir(appPath, [ |
+ d.libPubspec("test_pkg", "1.0.0", deps: { |
+ "foo": "^1.2.3" |
+ }, sdk: ">=1.5.0 <2.0.0") |
+ ]).create(); |
+ |
+ expectDependencyValidationError(' foo: ">=1.2.3 <2.0.0"'); |
+ }); |
+ }); |
}); |
} |