Hello community, here is the log from the commit of package python-node-semver for openSUSE:Factory checked in at 2019-01-11 14:05:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-node-semver (Old) and /work/SRC/openSUSE:Factory/.python-node-semver.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-node-semver" Fri Jan 11 14:05:34 2019 rev:4 rq:664383 version:0.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-node-semver/python-node-semver.changes 2018-10-12 13:11:00.435273033 +0200 +++ /work/SRC/openSUSE:Factory/.python-node-semver.new.28833/python-node-semver.changes 2019-01-11 14:06:36.955732018 +0100 @@ -1,0 +2,10 @@ +Thu Jan 10 13:48:13 UTC 2019 - Martin Pluskal <[email protected]> + +- Update to version 0.6.0: + * more strict error handling (InvalidTypeIncluded is added) +- Changes for version 0.5.1: + * bug fix +- Changes for version 0.5.0: + * include_prerelease option is added + +------------------------------------------------------------------- Old: ---- python-node-semver-0.4.2.tar.gz New: ---- python-node-semver-0.6.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-node-semver.spec ++++++ --- /var/tmp/diff_new_pack.yz3fyc/_old 2019-01-11 14:06:37.407731563 +0100 +++ /var/tmp/diff_new_pack.yz3fyc/_new 2019-01-11 14:06:37.415731556 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-node-semver # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define skip_python2 1 %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-node-semver -Version: 0.4.2 +Version: 0.6.1 Release: 0 Summary: Port of node-semver License: MIT ++++++ python-node-semver-0.4.2.tar.gz -> python-node-semver-0.6.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/CHANGES.txt new/python-semver-0.6.1/CHANGES.txt --- old/python-semver-0.4.2/CHANGES.txt 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/CHANGES.txt 2018-11-24 12:55:18.000000000 +0100 @@ -1,3 +1,15 @@ +0.6.0 + +- more strict error handling (InvalidTypeIncluded is added) + +0.5.1 + +- bug fix + +0.5.0 + +- include_prerelease option is added + 0.4.2 - fix bug for support 4-digit (handling prelease and build) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/README.rst new/python-semver-0.6.1/README.rst --- old/python-semver-0.4.2/README.rst 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/README.rst 2018-11-24 12:55:18.000000000 +0100 @@ -34,3 +34,8 @@ (max_satisfying(versions, range_, loose=False) == '2.0.0') except ValueError as e: assert e.args[0] == "Invalid Version: 2.0.0b1" + + versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6-pre.1', '2.0.1'] + range_ = '~1.2.3' + assert max_satisfying(versions, range_, loose=False, include_prerelease=True) == '1.2.6-pre.1' + assert max_satisfying(versions, range_, loose=False, include_prerelease=False) == '1.2.5' \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/examples/readme.py new/python-semver-0.6.1/examples/readme.py --- old/python-semver-0.4.2/examples/readme.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/examples/readme.py 2018-11-24 12:55:18.000000000 +0100 @@ -1,4 +1,11 @@ # -*- coding:utf-8 -*- +from semver import satisfies + +assert satisfies("1.2.3-dev.1+abc", ">1.1.0 <2.0.0", include_prerelease=True) +assert not satisfies("1.2.3-dev.1+abc", ">1.1.0 <2.0.0", include_prerelease=False) +assert satisfies("1.2.3", ">1.1 <2.0") + + from semver import max_satisfying versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6', '2.0.1'] @@ -14,3 +21,9 @@ (max_satisfying(versions, range_, loose=False) == '2.0.0') except ValueError as e: assert e.args[0] == "Invalid Version: 2.0.0b1" + + +versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6-pre.1', '2.0.1'] +range_ = '~1.2.3' +assert max_satisfying(versions, range_, loose=False, include_prerelease=True) == '1.2.6-pre.1' +assert max_satisfying(versions, range_, loose=False, include_prerelease=False) == '1.2.5' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/semver/__init__.py new/python-semver-0.6.1/semver/__init__.py --- old/python-semver-0.4.2/semver/__init__.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/semver/__init__.py 2018-11-24 12:55:18.000000000 +0100 @@ -1,12 +1,16 @@ # -*- coding:utf-8 -*- import logging import re -logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) SEMVER_SPEC_VERSION = '2.0.0' +class InvalidTypeIncluded(ValueError): + pass + + class _R(object): def __init__(self, i): self.i = i @@ -288,7 +292,7 @@ else: version = version.version elif not isinstance(version, str): # xxx: - raise ValueError("Invalid Version: {}".format(version)) + raise InvalidTypeIncluded("must be str, but {!r}".format(version)) """ if (!(this instanceof SemVer)) @@ -301,6 +305,8 @@ class SemVer(object): + # major, minor, patch, prerelease, build, micro_version + def __init__(self, version, loose): logger.debug("SemVer %s, %s", version, loose) self.loose = loose @@ -312,7 +318,11 @@ if not m: if not loose: raise ValueError("Invalid Version: {}".format(version)) - m = regexp[RECOVERYVERSIONNAME].search(version.strip()) + if not hasattr(version, "strip"): + raise ValueError("Invalid Version: {}".format(version)) + m = regexp[RECOVERYVERSIONNAME].match(version.strip()) + if m is None: + raise ValueError("Invalid Version: {}".format(version)) self.major = int(m.group(1)) if m.group(1) else 0 self.minor = int(m.group(2)) if m.group(2) else 0 self.patch = 0 @@ -332,10 +342,13 @@ other = self.build ks = id.split("+") else: + other = None ks = [id] for k in ks: if NUMERIC.search(k): self.micro_versions.append(int(k)) + elif other is None: + raise ValueError("Invalid Version: {}".format(version)) else: other.append(k) self.prerelease = prerelease @@ -509,8 +522,8 @@ def inc(version, release, loose, identifier=None): # wow! try: return make_semver(version, loose).inc(release, identifier=identifier).version - except Exception as e: - logger.debug(e, exc_info=5) + except ValueError as e: + logger.info(e, exc_info=2) return None @@ -717,6 +730,8 @@ def make_range(range_, loose): if isinstance(range_, Range) and range_.loose == loose: return range_ + elif not isinstance(range_, str): # xxx: + raise InvalidTypeIncluded("must be str, but {!r}".format(range_)) # if (!(this instanceof Range)) # return new Range(range, loose); @@ -724,11 +739,11 @@ class Range(object): - def __init__(self, range_, loose): + def __init__(self, range_, loose, _split_rx=re.compile(r"\s*\|\|\s*")): self.loose = loose # First, split based on boolean or || self.raw = range_ - xs = [self.parse_range(r.strip()) for r in re.split(r"\s*\|\|\s*", range_)] + xs = [self.parse_range(r.strip()) for r in _split_rx.split(range_)] self.set = [r for r in xs if r] if not len(self.set): @@ -785,7 +800,7 @@ set_ = [make_comparator(comp, loose) for comp in set_] return set_ - def test(self, version): + def test(self, version, include_prerelease=False): if not version: # xxx return False @@ -793,7 +808,7 @@ version = make_semver(version, loose=self.loose) for e in self.set: - if test_set(e, version): + if test_set(e, version, include_prerelease=include_prerelease): return True return False @@ -1033,11 +1048,11 @@ return (from_ + ' ' + to).strip() -def test_set(set_, version): +def test_set(set_, version, include_prerelease=False): for e in set_: if not e.test(version): return False - if len(version.prerelease) > 0: + if len(version.prerelease) > 0 and not include_prerelease: # Find the set of versions that are allowed to have prereleases # For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 # That should allow `1.2.3-pr.2` to pass. @@ -1055,23 +1070,29 @@ return True -def satisfies(version, range_, loose=False): +def satisfies(version, range_, loose=False, include_prerelease=False): try: range_ = make_range(range_, loose) - except Exception as e: + except InvalidTypeIncluded: + raise + except ValueError as e: + logger.info(e, exc_info=2) return False - return range_.test(version) + return range_.test(version, include_prerelease=include_prerelease) -def max_satisfying(versions, range_, loose=False): +def max_satisfying(versions, range_, loose=False, include_prerelease=False): try: range_ob = make_range(range_, loose=loose) - except: + except InvalidTypeIncluded: + raise + except ValueError as e: + logger.info(e, exc_info=2) return None max_ = None max_sv = None for v in versions: - if range_ob.test(v): # satisfies(v, range_, loose=loose) + if range_ob.test(v, include_prerelease=include_prerelease): # satisfies(v, range_, loose=loose) if max_ is None or max_sv.compare(v) == -1: # compare(max, v, true) max_ = v max_sv = make_semver(max_, loose=loose) @@ -1083,7 +1104,10 @@ # Return '*' instead of '' so that truthiness works. # This will throw if it's invalid anyway return make_range(range_, loose).range or "*" - except: + except TypeError as e: + raise InvalidTypeIncluded("{} (range_={!r}".format(e, range_)) + except ValueError as e: + logger.info(e, exc_info=2) return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/semver/tests/test_invalid_version_number.py new/python-semver-0.6.1/semver/tests/test_invalid_version_number.py --- old/python-semver-0.4.2/semver/tests/test_invalid_version_number.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/semver/tests/test_invalid_version_number.py 2018-11-24 12:55:18.000000000 +0100 @@ -2,13 +2,32 @@ import pytest # node-semver/test/index.js -cands = ['1.2.3.4', 'NOT VALID', 1.2, None, 'Infinity.NaN.Infinity'] +cands = [ + ('1.2.3.4', False, ValueError), + ('NOT VALID', False, ValueError), + (1.2, False, ValueError), + ("1.2", False, ValueError), + ("1.a.2", False, ValueError), + (None, False, ValueError), + ('X.2', False, ValueError), + ('Infinity.NaN.Infinity', False, ValueError), + ('1.2.3.4', True, None), + ('NOT VALID', True, ValueError), + (1.2, True, ValueError), + ("1.2", True, None), + ("1.a.2", True, ValueError), + (None, True, ValueError), + ('Infinity.NaN.Infinity', True, ValueError), + ('X.2', True, ValueError), +] [email protected]("v", cands) -def test_it(v): [email protected]("v, loose, exc", cands) +def test_it(v, loose, exc): import pytest from semver import make_semver - with pytest.raises(ValueError): - loose = False + if exc is not None: + with pytest.raises(exc): + make_semver(v, loose) + else: make_semver(v, loose) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/semver/tests/test_max_satisfying.py new/python-semver-0.6.1/semver/tests/test_max_satisfying.py --- old/python-semver-0.4.2/semver/tests/test_max_satisfying.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/semver/tests/test_max_satisfying.py 2018-11-24 12:55:18.000000000 +0100 @@ -3,14 +3,28 @@ # node-semver/test/index.js cands = [ - [['1.2.3', '1.2.4'], '1.2', '1.2.4', False], - [['1.2.4', '1.2.3'], '1.2', '1.2.4', False], - [['1.2.3', '1.2.4', '1.2.5', '1.2.6'], '~1.2.3', '1.2.6', False], - [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', '2.0.0', '2.1.0'], '~2.0.0', '2.0.0', True] + [['1.2.4', '1.2.3', '1.2.5-beta'], '~1.2.3', '1.2.5-beta', False, True], + [['1.2.4', '1.2.3', '1.2.5-beta'], '~1.2.3', '1.2.4', False, False], + [['1.2.3', '1.2.4'], '1.2', '1.2.4', False, False], + [['1.2.4', '1.2.3'], '1.2', '1.2.4', False, False], + [['1.2.3', '1.2.4', '1.2.5', '1.2.6'], '~1.2.3', '1.2.6', False, False], + [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', '2.0.0', '2.1.0'], '~2.0.0', '2.0.0', + True, False], + [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', '2.0.0', '2.1.0'], '~2.0.0', ValueError, + False, False], + [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0', '2.0.1b1', '2.1.0'], '~2.0.0', '2.0.0', + True, False], + [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0', '2.0.1b1', '2.1.0'], '~2.0.0', '2.0.1b1', + True, True] + ] [email protected]("versions, range_, expect, loose", cands) -def test_it(versions, range_, expect, loose): [email protected]("versions, range_, expect, loose, include_prerelease", cands) +def test_it(versions, range_, expect, loose, include_prerelease): from semver import max_satisfying - assert max_satisfying(versions, range_, loose) == expect + if isinstance(expect, type) and issubclass(expect, Exception): + with pytest.raises(expect): + max_satisfying(versions, range_, loose, include_prerelease) + else: + assert max_satisfying(versions, range_, loose, include_prerelease) == expect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/semver/tests/test_passing_bytes.py new/python-semver-0.6.1/semver/tests/test_passing_bytes.py --- old/python-semver-0.4.2/semver/tests/test_passing_bytes.py 1970-01-01 01:00:00.000000000 +0100 +++ new/python-semver-0.6.1/semver/tests/test_passing_bytes.py 2018-11-24 12:55:18.000000000 +0100 @@ -0,0 +1,30 @@ +import pytest + + +def test_max_satisfying(): + def _callFUT(versions, range_): + from semver import max_satisfying + max_satisfying(versions, range_) + + from semver import InvalidTypeIncluded + with pytest.raises(InvalidTypeIncluded): + _callFUT([b"1.0.0"], "1.0.0") + with pytest.raises(InvalidTypeIncluded): + _callFUT(["1.0.0"], b"1.0.0") + with pytest.raises(InvalidTypeIncluded): + _callFUT("1.0.0", [b"1.0.0"]) # mistakes + with pytest.raises(InvalidTypeIncluded): + _callFUT(b"1.0.0", ["1.0.0"]) # mistakes + _callFUT(["1.0.0"], "1.0.0") + + +def test_satisfies(): + def _callFUT(version, range_): + from semver import satisfies + satisfies(version, range_) + + from semver import InvalidTypeIncluded + with pytest.raises(InvalidTypeIncluded): + _callFUT(b"1.0.0", "1.0.0") + with pytest.raises(InvalidTypeIncluded): + _callFUT("1.0.0", b"1.0.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/semver/tests/test_range.py new/python-semver-0.6.1/semver/tests/test_range.py --- old/python-semver-0.4.2/semver/tests/test_range.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/semver/tests/test_range.py 2018-11-24 12:55:18.000000000 +0100 @@ -3,112 +3,114 @@ # node-semver/test/index.js cands = [ - ['1.0.0 - 2.0.0', '1.2.3', False], - ['^1.2.3+build', '1.2.3', False], - ['^1.2.3+build', '1.3.0', False], - ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3', False], - ['1.2.3pre+asdf - 2.4.3-pre+asdf', '1.2.3', True], - ['1.2.3-pre+asdf - 2.4.3pre+asdf', '1.2.3', True], - ['1.2.3pre+asdf - 2.4.3pre+asdf', '1.2.3', True], - ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3-pre.2', False], - ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '2.4.3-alpha', False], - ['1.2.3+asdf - 2.4.3+asdf', '1.2.3', False], - ['1.0.0', '1.0.0', False], - ['>=*', '0.2.4', False], - ['', '1.0.0', False], - ['*', '1.2.3', False], - ['*', 'v1.2.3', True], - ['>=1.0.0', '1.0.0', False], - ['>=1.0.0', '1.0.1', False], - ['>=1.0.0', '1.1.0', False], - ['>1.0.0', '1.0.1', False], - ['>1.0.0', '1.1.0', False], - ['<=2.0.0', '2.0.0', False], - ['<=2.0.0', '1.9999.9999', False], - ['<=2.0.0', '0.2.9', False], - ['<2.0.0', '1.9999.9999', False], - ['<2.0.0', '0.2.9', False], - ['>= 1.0.0', '1.0.0', False], - ['>= 1.0.0', '1.0.1', False], - ['>= 1.0.0', '1.1.0', False], - ['> 1.0.0', '1.0.1', False], - ['> 1.0.0', '1.1.0', False], - ['<= 2.0.0', '2.0.0', False], - ['<= 2.0.0', '1.9999.9999', False], - ['<= 2.0.0', '0.2.9', False], - ['< 2.0.0', '1.9999.9999', False], - ['<\t2.0.0', '0.2.9', False], - ['>=0.1.97', 'v0.1.97', True], - ['>=0.1.97', '0.1.97', False], - ['0.1.20 || 1.2.4', '1.2.4', False], - ['>=0.2.3 || <0.0.1', '0.0.0', False], - ['>=0.2.3 || <0.0.1', '0.2.3', False], - ['>=0.2.3 || <0.0.1', '0.2.4', False], - ['||', '1.3.4', False], - ['2.x.x', '2.1.3', False], - ['1.2.x', '1.2.3', False], - ['1.2.x || 2.x', '2.1.3', False], - ['1.2.x || 2.x', '1.2.3', False], - ['x', '1.2.3', False], - ['2.*.*', '2.1.3', False], - ['1.2.*', '1.2.3', False], - ['1.2.* || 2.*', '2.1.3', False], - ['1.2.* || 2.*', '1.2.3', False], - ['*', '1.2.3', False], - ['2', '2.1.2', False], - ['2.3', '2.3.1', False], - ['~x', '0.0.9', False], # >=2.4.0 <2.5.0 - ['~2', '2.0.9', False], # >=2.4.0 <2.5.0 - ['~2.4', '2.4.0', False], # >=2.4.0 <2.5.0 - ['~2.4', '2.4.5', False], - ['~>3.2.1', '3.2.2', False], # >=3.2.1 <3.3.0, - ['~1', '1.2.3', False], # >=1.0.0 <2.0.0 - ['~>1', '1.2.3', False], - ['~> 1', '1.2.3', False], - ['~1.0', '1.0.2', False], # >=1.0.0 <1.1.0, - ['~ 1.0', '1.0.2', False], - ['~ 1.0.3', '1.0.12', False], - ['>=1', '1.0.0', False], - ['>= 1', '1.0.0', False], - ['<1.2', '1.1.1', False], - ['< 1.2', '1.1.1', False], - ['~v0.5.4-pre', '0.5.5', False], - ['~v0.5.4-pre', '0.5.4', False], - ['=0.7.x', '0.7.2', False], - ['<=0.7.x', '0.7.2', False], - ['>=0.7.x', '0.7.2', False], - ['<=0.7.x', '0.6.2', False], - ['~1.2.1 >=1.2.3', '1.2.3', False], - ['~1.2.1 =1.2.3', '1.2.3', False], - ['~1.2.1 1.2.3', '1.2.3', False], - ['~1.2.1 >=1.2.3 1.2.3', '1.2.3', False], - ['~1.2.1 1.2.3 >=1.2.3', '1.2.3', False], - ['~1.2.1 1.2.3', '1.2.3', False], - ['>=1.2.1 1.2.3', '1.2.3', False], - ['1.2.3 >=1.2.1', '1.2.3', False], - ['>=1.2.3 >=1.2.1', '1.2.3', False], - ['>=1.2.1 >=1.2.3', '1.2.3', False], - ['>=1.2', '1.2.8', False], - ['^1.2.3', '1.8.1', False], - ['^0.1.2', '0.1.2', False], - ['^0.1', '0.1.2', False], - ['^0.0.1', '0.0.1', False], - ['^1.2', '1.4.2', False], - ['^1.2 ^1', '1.4.2', False], - ['^1.2.3-alpha', '1.2.3-pre', False], - ['^1.2.0-alpha', '1.2.0-pre', False], - ['^0.0.1-alpha', '0.0.1-beta', False], - ['^0.1.1-alpha', '0.1.1-beta', False], - ['^x', '1.2.3', False], - ['x - 1.0.0', '0.9.7', False], - ['x - 1.x', '0.9.7', False], - ['1.0.0 - x', '1.9.7', False], - ['1.x - x', '1.9.7', False], - ['<=7.x', '7.9.9', False] + ['1.0.0 - 2.0.0', '1.2.3', False, False], + ['^1.2.3+build', '1.2.3', False, False], + ['^1.2.3+build', '1.3.0', False, False], + ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3', False, False], + ['1.2.3pre+asdf - 2.4.3-pre+asdf', '1.2.3', True, False], + ['1.2.3-pre+asdf - 2.4.3pre+asdf', '1.2.3', True, False], + ['1.2.3pre+asdf - 2.4.3pre+asdf', '1.2.3', True, False], + ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3-pre.2', False, False], + ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '2.4.3-alpha', False, False], + ['1.2.3+asdf - 2.4.3+asdf', '1.2.3', False, False], + ['1.0.0', '1.0.0', False, False], + ['>=*', '0.2.4', False, False], + ['', '1.0.0', False, False], + ['*', '1.2.3', False, False], + ['*', 'v1.2.3', True, False], + ['>=1.0.0', '1.0.0', False, False], + ['>=1.0.0', '1.0.1', False, False], + ['>=1.0.0', '1.1.0', False, False], + ['>1.0.0', '1.0.1', False, False], + ['>1.0.0', '1.0.1-pre.1', False, True], + ['>1.0.0', '1.1.0', False, False], + ['<=2.0.0', '2.0.0', False, False], + ['<=2.0.0', '1.9999.9999', False, False], + ['<=2.0.0', '0.2.9', False, False], + ['<2.0.0', '1.9999.9999', False, False], + ['<2.0.0', '0.2.9', False, False], + ['>= 1.0.0', '1.0.0', False, False], + ['>= 1.0.0', '1.0.1', False, False], + ['>= 1.0.0', '1.1.0', False, False], + ['> 1.0.0', '1.0.1', False, False], + ['> 1.0.0', '1.1.0', False, False], + ['<= 2.0.0', '2.0.0', False, False], + ['<= 2.0.0', '1.9999.9999', False, False], + ['<= 2.0.0', '0.2.9', False, False], + ['< 2.0.0', '1.9999.9999', False, False], + ['<\t2.0.0', '0.2.9', False, False], + ['>=0.1.97', 'v0.1.97', True, False], + ['>=0.1.97', '0.1.97', False, False], + ['0.1.20 || 1.2.4', '1.2.4', False, False], + ['>=0.2.3 || <0.0.1', '0.0.0', False, False], + ['>=0.2.3 || <0.0.1', '0.2.3', False, False], + ['>=0.2.3 || <0.0.1', '0.2.4', False, False], + ['||', '1.3.4', False, False], + ['2.x.x', '2.1.3', False, False], + ['1.2.x', '1.2.3', False, False], + ['1.2.x || 2.x', '2.1.3', False, False], + ['1.2.x || 2.x', '1.2.3', False, False], + ['x', '1.2.3', False, False], + ['2.*.*', '2.1.3', False, False], + ['1.2.*', '1.2.3', False, False], + ['1.2.* || 2.*', '2.1.3', False, False], + ['1.2.* || 2.*', '1.2.3', False, False], + ['*', '1.2.3', False, False], + ['2', '2.1.2', False, False], + ['2.3', '2.3.1', False, False], + ['~x', '0.0.9', False, False], # >=2.4.0 <2.5.0 + ['~2', '2.0.9', False, False], # >=2.4.0 <2.5.0 + ['~2.4', '2.4.0', False, False], # >=2.4.0 <2.5.0 + ['~2.4', '2.4.5', False, False], + ['~>3.2.1', '3.2.2', False, False], # >=3.2.1 <3.3.0, + ['~1', '1.2.3', False, False], # >=1.0.0 <2.0.0 + ['~>1', '1.2.3', False, False], + ['~> 1', '1.2.3', False, False], + ['~1.0', '1.0.2', False, False], # >=1.0.0 <1.1.0, + ['~ 1.0', '1.0.2', False, False], + ['~ 1.0.3', '1.0.12', False, False], + ['>=1', '1.0.0', False, False], + ['>= 1', '1.0.0', False, False], + ['<1.2', '1.1.1', False, False], + ['< 1.2', '1.1.1', False, False], + ['~v0.5.4-pre', '0.5.5', False, False], + ['~v0.5.4-pre', '0.5.4', False, False], + ['=0.7.x', '0.7.2', False, False], + ['<=0.7.x', '0.7.2', False, False], + ['>=0.7.x', '0.7.2', False, False], + ['<=0.7.x', '0.6.2', False, False], + ['~1.2.1 >=1.2.3', '1.2.3', False, False], + ['~1.2.1 =1.2.3', '1.2.3', False, False], + ['~1.2.1 1.2.3', '1.2.3', False, False], + ['~1.2.1 >=1.2.3 1.2.3', '1.2.3', False, False], + ['~1.2.1 1.2.3 >=1.2.3', '1.2.3', False, False], + ['~1.2.1 1.2.3', '1.2.3', False, False], + ['>=1.2.1 1.2.3', '1.2.3', False, False], + ['1.2.3 >=1.2.1', '1.2.3', False, False], + ['>=1.2.3 >=1.2.1', '1.2.3', False, False], + ['>=1.2.1 >=1.2.3', '1.2.3', False, False], + ['>=1.2', '1.2.8', False, False], + ['^1.2.3', '1.8.1', False, False], + ['^0.1.2', '0.1.2', False, False], + ['^0.1', '0.1.2', False, False], + ['^0.0.1', '0.0.1', False, False], + ['^1.2', '1.4.2', False, False], + ['^1.2 ^1', '1.4.2', False, False], + ['^1.2.3-alpha', '1.2.3-pre', False, False], + ['^1.2.3-alpha', '1.2.4-pre', False, True], + ['^1.2.0-alpha', '1.2.0-pre', False, False], + ['^0.0.1-alpha', '0.0.1-beta', False, False], + ['^0.1.1-alpha', '0.1.1-beta', False, False], + ['^x', '1.2.3', False, False], + ['x - 1.0.0', '0.9.7', False, False], + ['x - 1.x', '0.9.7', False, False], + ['1.0.0 - x', '1.9.7', False, False], + ['1.x - x', '1.9.7', False, False], + ['<=7.x', '7.9.9', False, False] ] [email protected]("range_, version, loose", cands) -def test_it(range_, version, loose): [email protected]("range_, version, loose, include_prerelease", cands) +def test_it(range_, version, loose, include_prerelease): from semver import satisfies - assert satisfies(version, range_, loose) is True + assert satisfies(version, range_, loose, include_prerelease) is True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-semver-0.4.2/setup.py new/python-semver-0.6.1/setup.py --- old/python-semver-0.4.2/setup.py 2018-09-28 20:10:19.000000000 +0200 +++ new/python-semver-0.6.1/setup.py 2018-11-24 12:55:18.000000000 +0100 @@ -36,7 +36,7 @@ setup( name='node-semver', - version='0.4.2', + version='0.6.1', description='port of node-semver', long_description=README + '\n\n' + CHANGES, classifiers=[
