Handle empty version constraint (#2796)
diff --git a/lib/src/pubspec.dart b/lib/src/pubspec.dart
index 8b78157..35a28d2 100644
--- a/lib/src/pubspec.dart
+++ b/lib/src/pubspec.dart
@@ -611,7 +611,7 @@
YamlNode descriptionNode;
String sourceName;
- var versionConstraint = VersionRange();
+ VersionConstraint versionConstraint = VersionRange();
var features = const <String, FeatureDependency>{};
if (spec == null) {
descriptionNode = nameNode;
diff --git a/test/pubspec_test.dart b/test/pubspec_test.dart
index 959249f..850031c 100644
--- a/test/pubspec_test.dart
+++ b/test/pubspec_test.dart
@@ -93,6 +93,19 @@
expect(foo.constraint.allows(Version(3, 4, 5)), isFalse);
});
+ test('allows empty version constraint', () {
+ var pubspec = Pubspec.parse('''
+dependencies:
+ foo:
+ fake: ok
+ version: ">=1.2.3 <0.0.0"
+''', sources);
+
+ var foo = pubspec.dependencies['foo'];
+ expect(foo.name, equals('foo'));
+ expect(foo.constraint.isEmpty, isTrue);
+ });
+
test('allows an empty dependencies map', () {
var pubspec = Pubspec.parse('''
dependencies: