summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--semantic_version/base.py3
-rw-r--r--tests/test_npm.py4
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f63511..1158103 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,13 @@ ChangeLog
2.8.3 (unreleased)
------------------
-- Nothing changed yet.
+*New:*
+ - Add `Clause.prettyprint()` for debugging
+
+*Bugfix:*
+
+ * `#86 <https://github.com/rbarrois/python-semanticversion/issues/86>`_:
+ Fix handling of prerelease ranges within `NpmSpec`
2.8.2 (2019-09-06)
diff --git a/semantic_version/base.py b/semantic_version/base.py
index 4327fa1..1b0bac5 100644
--- a/semantic_version/base.py
+++ b/semantic_version/base.py
@@ -1273,7 +1273,7 @@ class NpmSpec(BaseSpec):
prerelease_policy=Range.PRERELEASE_ALWAYS,
))
elif clause.operator in (Range.OP_LT, Range.OP_LTE):
- prerelease_clauses.append(cls.range(
+ prerelease_clauses.append(Range(
operator=Range.OP_GTE,
target=Version(
major=clause.target.major,
@@ -1281,6 +1281,7 @@ class NpmSpec(BaseSpec):
patch=0,
prerelease=(),
),
+ prerelease_policy=Range.PRERELEASE_ALWAYS,
))
prerelease_clauses.append(clause)
non_prerel_clauses.append(cls.range(
diff --git a/tests/test_npm.py b/tests/test_npm.py
index 7bed337..da3f5ba 100644
--- a/tests/test_npm.py
+++ b/tests/test_npm.py
@@ -40,6 +40,10 @@ class NpmSpecTests(unittest.TestCase):
['1.2.3-alpha.3', '1.2.3-alpha.7', '3.4.5'],
['1.2.3-alpha.2', '3.4.5-alpha.9'],
),
+ '>1.2.3-alpha <1.2.3-beta': (
+ ['1.2.3-alpha.0', '1.2.3-alpha.1'],
+ ['1.2.3', '1.2.3-beta.0', '1.2.3-bravo'],
+ ),
'1.2.3 - 2.3.4': (
['1.2.3', '1.2.99', '2.2.0', '2.3.4', '2.3.4+b42'],
['1.2.0', '1.2.3-alpha.1', '2.3.5'],