File: test_format.py

package info (click to toggle)
python-semver 3.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 700 kB
  • sloc: python: 1,972; makefile: 28
file content (65 lines) | stat: -rw-r--r-- 2,207 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import pytest

from semver import Version, finalize_version, format_version


@pytest.mark.parametrize(
    "version,expected",
    [
        ("1.2.3", "1.2.3"),
        ("1.2.3-rc.5", "1.2.3"),
        ("1.2.3+build.2", "1.2.3"),
        ("1.2.3-rc.1+build.5", "1.2.3"),
        ("1.2.3-alpha", "1.2.3"),
        ("1.2.0", "1.2.0"),
    ],
)
def test_should_finalize_version(version, expected):
    assert finalize_version(version) == expected


def test_should_correctly_format_version():
    assert format_version(3, 4, 5) == "3.4.5"
    assert format_version(3, 4, 5, "rc.1") == "3.4.5-rc.1"
    assert format_version(3, 4, 5, prerelease="rc.1") == "3.4.5-rc.1"
    assert format_version(3, 4, 5, build="build.4") == "3.4.5+build.4"
    assert format_version(3, 4, 5, "rc.1", "build.4") == "3.4.5-rc.1+build.4"


def test_parse_method_for_version_info():
    s_version = "1.2.3-alpha.1.2+build.11.e0f985a"
    v = Version.parse(s_version)
    assert str(v) == s_version


@pytest.mark.parametrize(
    "version, expected",
    [
        (
            Version(major=1, minor=2, patch=3, prerelease=None, build=None),
            "Version(major=1, minor=2, patch=3, prerelease=None, build=None)",
        ),
        (
            Version(major=1, minor=2, patch=3, prerelease="r.1", build=None),
            "Version(major=1, minor=2, patch=3, prerelease='r.1', build=None)",
        ),
        (
            Version(major=1, minor=2, patch=3, prerelease="dev.1", build=None),
            "Version(major=1, minor=2, patch=3, prerelease='dev.1', build=None)",
        ),
        (
            Version(major=1, minor=2, patch=3, prerelease="dev.1", build="b.1"),
            "Version(major=1, minor=2, patch=3, prerelease='dev.1', build='b.1')",
        ),
        (
            Version(major=1, minor=2, patch=3, prerelease="r.1", build="b.1"),
            "Version(major=1, minor=2, patch=3, prerelease='r.1', build='b.1')",
        ),
        (
            Version(major=1, minor=2, patch=3, prerelease="r.1", build="build.1"),
            "Version(major=1, minor=2, patch=3, prerelease='r.1', build='build.1')",
        ),
    ],
)
def test_repr(version, expected):
    assert repr(version) == expected