mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-12 06:20:08 +01:00
Add dom_short, doy_short and regression tests
This commit is contained in:
parent
8833bb8b2b
commit
052d01445c
4 changed files with 141 additions and 83 deletions
|
|
@ -1,6 +1,8 @@
|
|||
import random
|
||||
import datetime as dt
|
||||
|
||||
import pytest
|
||||
|
||||
from pycalver import version
|
||||
from pycalver import patterns
|
||||
|
||||
|
|
@ -50,25 +52,25 @@ def test_bump_random(monkeypatch):
|
|||
|
||||
|
||||
def test_parse_version_info():
|
||||
version_str = "v201712.0001-alpha"
|
||||
version_nfo = version.parse_version_info(version_str)
|
||||
version_str = "v201712.0001-alpha"
|
||||
version_info = version.parse_version_info(version_str)
|
||||
|
||||
# assert version_nfo.pep440_version == "201712.1a0"
|
||||
# assert version_nfo.version == "v201712.0001-alpha"
|
||||
assert version_nfo.year == 2017
|
||||
assert version_nfo.month == 12
|
||||
assert version_nfo.bid == "0001"
|
||||
assert version_nfo.tag == "alpha"
|
||||
# assert version_info.pep440_version == "201712.1a0"
|
||||
# assert version_info.version == "v201712.0001-alpha"
|
||||
assert version_info.year == 2017
|
||||
assert version_info.month == 12
|
||||
assert version_info.bid == "0001"
|
||||
assert version_info.tag == "alpha"
|
||||
|
||||
version_str = "v201712.0001"
|
||||
version_nfo = version.parse_version_info(version_str)
|
||||
version_str = "v201712.0001"
|
||||
version_info = version.parse_version_info(version_str)
|
||||
|
||||
# assert version_nfo.pep440_version == "201712.1"
|
||||
# assert version_nfo.version == "v201712.0001"
|
||||
assert version_nfo.year == 2017
|
||||
assert version_nfo.month == 12
|
||||
assert version_nfo.bid == "0001"
|
||||
assert version_nfo.tag == "final"
|
||||
# assert version_info.pep440_version == "201712.1"
|
||||
# assert version_info.version == "v201712.0001"
|
||||
assert version_info.year == 2017
|
||||
assert version_info.month == 12
|
||||
assert version_info.bid == "0001"
|
||||
assert version_info.tag == "final"
|
||||
|
||||
|
||||
def test_readme_pycalver1():
|
||||
|
|
@ -108,7 +110,7 @@ def test_parse_error_empty():
|
|||
version.parse_version_info("")
|
||||
assert False
|
||||
except version.PatternError as err:
|
||||
pass
|
||||
assert "Invalid version string" in str(err)
|
||||
|
||||
|
||||
def test_parse_error_noprefix():
|
||||
|
|
@ -116,7 +118,7 @@ def test_parse_error_noprefix():
|
|||
version.parse_version_info("201809.0002")
|
||||
assert False
|
||||
except version.PatternError as err:
|
||||
pass
|
||||
assert "Invalid version string" in str(err)
|
||||
|
||||
|
||||
def test_parse_error_nopadding():
|
||||
|
|
@ -124,7 +126,7 @@ def test_parse_error_nopadding():
|
|||
version.parse_version_info("v201809.2b0")
|
||||
assert False
|
||||
except version.PatternError as err:
|
||||
pass
|
||||
assert "Invalid version string" in str(err)
|
||||
|
||||
|
||||
def test_part_field_mapping():
|
||||
|
|
@ -141,3 +143,40 @@ def test_part_field_mapping():
|
|||
b_fields = set(version.VersionInfo._fields)
|
||||
|
||||
assert a_fields == b_fields
|
||||
|
||||
|
||||
def vnfo(**field_values):
|
||||
return version._parse_field_values(field_values)
|
||||
|
||||
|
||||
PARSE_VERSION_TEST_CASES = [
|
||||
["{year}.{month}.{dom}" , "2017.06.07", vnfo(year="2017", month="06", dom="07")],
|
||||
["{year}.{month}.{dom_short}" , "2017.06.7" , vnfo(year="2017", month="06", dom="7" )],
|
||||
["{year}.{month}.{dom_short}" , "2017.06.7" , vnfo(year="2017", month="06", dom="7" )],
|
||||
["{year}.{month_short}.{dom_short}", "2017.6.7" , vnfo(year="2017", month="6" , dom="7" )],
|
||||
["{year}.{month}.{dom}" , "2017.6.07" , None],
|
||||
["{year}.{month}.{dom}" , "2017.06.7" , None],
|
||||
["{year}.{month_short}.{dom}" , "2017.06.7" , None],
|
||||
["{year}.{month}.{dom_short}" , "2017.6.07" , None],
|
||||
["{year}.{month_short}.{MINOR}" , "2017.6.7" , vnfo(year="2017", month="6" , minor="7" )],
|
||||
["{year}.{month}.{MINOR}" , "2017.06.7" , vnfo(year="2017", month="06", minor="7" )],
|
||||
["{year}.{month}.{MINOR}" , "2017.06.07", vnfo(year="2017", month="06", minor="07")],
|
||||
["{year}.{month}.{MINOR}" , "2017.6.7" , None],
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize("pattern_str, line, expected_vinfo", PARSE_VERSION_TEST_CASES)
|
||||
def test_parse_versions(pattern_str, line, expected_vinfo):
|
||||
pattern_re = patterns.compile_pattern(pattern_str)
|
||||
version_match = pattern_re.search(line)
|
||||
|
||||
if expected_vinfo is None:
|
||||
assert version_match is None
|
||||
return
|
||||
|
||||
assert version_match is not None
|
||||
|
||||
version_str = version_match.group(0)
|
||||
version_info = version.parse_version_info(version_str, pattern_str)
|
||||
|
||||
assert version_info == expected_vinfo
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue