Skip to content

Commit 5349ab2

Browse files
authored
Fix caret constraint parsing (#171)
1 parent 3f718c5 commit 5349ab2

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

poetry/core/semver/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def next_breaking(self) -> "Version":
4848

4949
return self.next_patch()
5050

51-
return self.next_major()
51+
return self.stable.next_major()
5252

5353
def first_pre_release(self) -> "Version":
5454
return self.__class__(release=self.release, pre=ReleaseTag("alpha"))

tests/semver/test_parse_constraint.py

+17
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from poetry.core.semver.version import Version
55
from poetry.core.semver.version_range import VersionRange
66
from poetry.core.semver.version_union import VersionUnion
7+
from poetry.core.version.pep440 import ReleaseTag
78

89

910
@pytest.mark.parametrize(
@@ -171,6 +172,22 @@
171172
),
172173
),
173174
),
175+
(
176+
"^1.0.0a1",
177+
VersionRange(
178+
min=Version.from_parts(1, 0, 0, pre=ReleaseTag("a", 1)),
179+
max=Version.from_parts(2, 0, 0),
180+
include_min=True,
181+
),
182+
),
183+
(
184+
"~1.0.0a1",
185+
VersionRange(
186+
min=Version.from_parts(1, 0, 0, pre=ReleaseTag("a", 1)),
187+
max=Version.from_parts(1, 1, 0),
188+
include_min=True,
189+
),
190+
),
174191
],
175192
)
176193
def test_parse_constraint(constraint, version):

0 commit comments

Comments
 (0)