diff --git a/src/univers/version_range.py b/src/univers/version_range.py index 0162e06c..e25a355c 100644 --- a/src/univers/version_range.py +++ b/src/univers/version_range.py @@ -183,7 +183,7 @@ def from_versions(cls, sequence): version_obj = cls.version_class(version) constraint = VersionConstraint(comparator="=", version=version_obj) constraints.append(constraint) - return cls(constraints=constraints) + return cls(constraints=constraints) if constraints else None def is_star(self): return len(self.constraints) == 1 and self.constraints[0].is_star() diff --git a/tests/test_version_range.py b/tests/test_version_range.py index af71809c..fc84188c 100644 --- a/tests/test_version_range.py +++ b/tests/test_version_range.py @@ -220,6 +220,13 @@ def test_AlpineLinuxVersionRange_from_versions(): assert version_range == expected +def test_VersionRange_from_versions_with_empty_constraints(): + sequence = [] + expected = None + version_range = AlpineLinuxVersionRange.from_versions(sequence) + assert version_range == expected + + def test_apk_in_RANGE_CLASS_BY_SCHEMES(): assert RANGE_CLASS_BY_SCHEMES["apk"] is AlpineLinuxVersionRange