Skip to content

Commit

Permalink
Avoid regex deprecation warning and add some more tests for tagged me…
Browse files Browse the repository at this point in the history
…tadata
  • Loading branch information
mtkennerly committed Dec 3, 2020
1 parent 20bdc2c commit 0f78133
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dunamai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
^v(?P<base>\d+\.\d+\.\d+) (?# v1.2.3)
(-?((?P<stage>[a-zA-Z]+)\.?(?P<revision>\d+)?))? (?# b0)
(\+(?P<tagged_metadata>.+))?$ (?# +linux)
"""
""".strip()

# PEP 440: [N!]N(.N)*[{a|b|rc}N][.postN][.devN][+<local version label>]
_VALID_PEP440 = r"^(\d!)?\d+(\.\d+)*((a|b|rc)\d+)?(\.post\d+)?(\.dev\d+)?(\+.+)?$"
Expand Down
23 changes: 20 additions & 3 deletions tests/unit/test_dunamai.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,12 @@ def test__version__serialize__pep440_metadata() -> None:
Version("0.1.0", distance=1, commit="abc").serialize(metadata=False) == "0.1.0.post1.dev0"
)

v = Version("0.1.0", distance=1, commit="abc", tagged_metadata="def")
serialized = v.serialize(tagged_metadata=True)
assert serialized == "0.1.0.post1.dev0+def.abc"
assert (
Version("0.1.0", distance=1, commit="abc", tagged_metadata="def").serialize(
tagged_metadata=True
)
== "0.1.0.post1.dev0+def.abc"
)


def test__version__serialize__semver_with_metadata() -> None:
Expand Down Expand Up @@ -302,6 +305,13 @@ def test__version__serialize__semver_with_metadata() -> None:
== "0.1.0-post.1"
)

assert (
Version("0.1.0", distance=1, commit="abc", tagged_metadata="def").serialize(
style=style, tagged_metadata=True
)
== "0.1.0-post.1+def.abc"
)


def test__version__serialize__pvp_with_metadata() -> None:
style = Style.Pvp
Expand Down Expand Up @@ -329,6 +339,13 @@ def test__version__serialize__pvp_with_metadata() -> None:
== "0.1.0-post-1"
)

assert (
Version("0.1.0", distance=1, commit="abc", tagged_metadata="def").serialize(
style=style, tagged_metadata=True
)
== "0.1.0-post-1-def-abc"
)


def test__version__serialize__pep440_with_dirty() -> None:
assert Version("0.1.0", dirty=True).serialize() == "0.1.0"
Expand Down

0 comments on commit 0f78133

Please sign in to comment.