Skip to content

Commit 865dc05

Browse files
committed
Test npm pre-release caret range handling
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 16eafff commit 865dc05

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

tests/test_version_range.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,39 @@ def test_NpmVersionRange_from_native_with_compatible_with_version_operator(self)
216216
version_range = NpmVersionRange.from_native(npm_range)
217217
assert version_range == expected
218218

219+
def test_NpmVersionRange_from_native_with_prerelease_carate_range(self):
220+
npm_range = "^1.2.3-beta.1"
221+
expected = NpmVersionRange(
222+
constraints=(
223+
VersionConstraint(comparator=">=", version=SemverVersion(string="1.2.3-beta.1")),
224+
VersionConstraint(comparator="<", version=SemverVersion(string="2.0.0")),
225+
)
226+
)
227+
version_range = NpmVersionRange.from_native(npm_range)
228+
assert version_range == expected
229+
230+
def test_NpmVersionRange_from_native_with_prerelease_carate_range_wihtout_major(self):
231+
npm_range = "^0.2.1-beta"
232+
expected = NpmVersionRange(
233+
constraints=(
234+
VersionConstraint(comparator=">=", version=SemverVersion(string="0.2.1-beta")),
235+
VersionConstraint(comparator="<", version=SemverVersion(string="0.3.0")),
236+
)
237+
)
238+
version_range = NpmVersionRange.from_native(npm_range)
239+
assert version_range == expected
240+
241+
def test_NpmVersionRange_from_native_with_prerelease_carate_range_wihtout_major_and_minor(self):
242+
npm_range = "^0.0.2-beta"
243+
expected = NpmVersionRange(
244+
constraints=(
245+
VersionConstraint(comparator=">=", version=SemverVersion(string="0.0.2-beta")),
246+
VersionConstraint(comparator="<", version=SemverVersion(string="0.0.3")),
247+
)
248+
)
249+
version_range = NpmVersionRange.from_native(npm_range)
250+
assert version_range == expected
251+
219252
def test_NpmVersionRange_from_native_with_approximately_equal_to_operator(self):
220253
npm_range = "~3.8.2"
221254
expected = NpmVersionRange(

0 commit comments

Comments
 (0)