diff options
Diffstat (limited to 'tests/test_base.py')
-rwxr-xr-x | tests/test_base.py | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/tests/test_base.py b/tests/test_base.py index df5d4ee..ae23d86 100755 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -64,7 +64,7 @@ class TopLevelTestCase(unittest.TestCase): ('0.1.1', '0.1.1', 0), ('0.1.1', '0.1.0', 1), ('0.1.0-alpha', '0.1.0', -1), - ('0.1.0-alpha+2', '0.1.0-alpha', 1), + ('0.1.0-alpha+2', '0.1.0-alpha', NotImplemented), ) def test_compare(self): @@ -179,7 +179,6 @@ class VersionTestCase(unittest.TestCase): '1.1.2': (1, 1, 2, None, None), '1.1.3-rc4.5': (1, 1, 3, ('rc4', '5'), None), '1.0.0-': (1, 0, 0, (), None), - '1.0.0+': (1, 0, 0, (), ()), '1.0.0-rc.1+build.1': (1, 0, 0, ('rc', '1'), ('build', '1')), '1.0.0+0.3.7': (1, 0, 0, (), ('0', '3', '7')), '1.3.7+build': (1, 3, 7, (), ('build',)), @@ -272,18 +271,29 @@ class VersionTestCase(unittest.TestCase): class SpecItemTestCase(unittest.TestCase): + invalids = [ + '<=0.1.1+build3', + '<=0.1.1+', + '>0.2.3-rc2+', + ] + + def test_invalids(self): + for invalid in self.invalids: + with self.assertRaises(ValueError, msg="SpecItem(%r) should be invalid" % invalid): + _v = base.SpecItem(invalid) + components = { '==0.1.0': (base.SpecItem.KIND_EQUAL, 0, 1, 0, None, None), '==0.1.2-rc3': (base.SpecItem.KIND_EQUAL, 0, 1, 2, ('rc3',), None), '==0.1.2+build3.14': (base.SpecItem.KIND_EQUAL, 0, 1, 2, (), ('build3', '14')), - '<=0.1.1+': (base.SpecItem.KIND_LTE, 0, 1, 1, (), ()), + '<=0.1.1': (base.SpecItem.KIND_LTE, 0, 1, 1, None, None), '<0.1.1': (base.SpecItem.KIND_LT, 0, 1, 1, None, None), '<=0.1.1': (base.SpecItem.KIND_LTE, 0, 1, 1, None, None), + '!=0.1.1+': (base.SpecItem.KIND_NEQ, 0, 1, 1, (), ()), '<=0.1.1-': (base.SpecItem.KIND_LTE, 0, 1, 1, (), None), '>=0.2.3-rc2': (base.SpecItem.KIND_GTE, 0, 2, 3, ('rc2',), None), - '>0.2.3-rc2+': (base.SpecItem.KIND_GT, 0, 2, 3, ('rc2',), ()), '>=2.0.0': (base.SpecItem.KIND_GTE, 2, 0, 0, None, None), - '!=0.1.1+': (base.SpecItem.KIND_NEQ, 0, 1, 1, (), ()), + '!=0.1.1+rc3': (base.SpecItem.KIND_NEQ, 0, 1, 1, (), ('rc3',)), '!=0.3.0': (base.SpecItem.KIND_NEQ, 0, 3, 0, None, None), } @@ -335,13 +345,17 @@ class SpecItemTestCase(unittest.TestCase): ['0.2.3-rc3', '0.2.3', '0.2.3+1', '0.2.3-rc2', '0.2.3-rc2+1'], ['0.2.3-rc1', '0.2.2'], ), - '>0.2.3-rc2+': ( - ['0.2.3-rc3', '0.2.3', '0.2.3-rc2+1'], - ['0.2.3-rc1', '0.2.2', '0.2.3-rc2'], + '==0.2.3+': ( + ['0.2.3'], + ['0.2.3+rc1', '0.2.4', '0.2.3-rc2'], + ), + '!=0.2.3-rc2+12': ( + ['0.2.3-rc3', '0.2.3', '0.2.3-rc2+1', '0.2.4', '0.2.3-rc3+12'], + ['0.2.3-rc2+12'], ), - '>2.0.0+': ( - ['2.1.1', '2.0.0+b1', '3.1.4'], - ['1.9.9', '1.9.9999', '2.0.0', '2.0.0-rc4'], + '==2.0.0+b1': ( + ['2.0.0+b1'], + ['2.1.1', '1.9.9', '1.9.9999', '2.0.0', '2.0.0-rc4'], ), '!=0.1.1': ( ['0.1.2', '0.1.0', '1.4.2'], @@ -440,13 +454,17 @@ class SpecTestCase(unittest.TestCase): self.assertTrue(repr(base.SpecItem(spec_text)) in repr(spec_list)) matches = { + # At least 0.1.1 including pre-releases, less than 0.1.2 excluding pre-releases '>=0.1.1,<0.1.2': ( ['0.1.1', '0.1.1+4', '0.1.1-alpha'], ['0.1.2-alpha', '0.1.2', '1.3.4'], ), - '>=0.1.0+,!=0.1.3-rc1,<0.1.4': ( + # At least 0.1.0 without pre-releases, less than 0.1.4 excluding pre-releases, + # neither 0.1.3-rc1 nor any build of that version, + # not 0.1.0+b3 precisely + '>=0.1.0-,!=0.1.3-rc1,!=0.1.0+b3,<0.1.4': ( ['0.1.1', '0.1.0+b4', '0.1.2', '0.1.3-rc2'], - ['0.0.1', '0.1.4', '0.1.4-alpha', '0.1.3-rc1+4', + ['0.0.1', '0.1.0+b3', '0.1.4', '0.1.4-alpha', '0.1.3-rc1+4', '0.1.0-alpha', '0.2.2', '0.1.4-rc1'], ), } |