|
25 | 25 | parse_version_info,
|
26 | 26 | process,
|
27 | 27 | replace,
|
| 28 | + cmd_nextver, |
28 | 29 | )
|
29 | 30 |
|
30 | 31 | SEMVERFUNCS = [
|
@@ -659,6 +660,8 @@ def test_should_not_allow_to_compare_version_with_int():
|
659 | 660 | v1 > 1
|
660 | 661 | with pytest.raises(TypeError):
|
661 | 662 | 1 > v1
|
| 663 | + with pytest.raises(TypeError): |
| 664 | + v1.compare(1) |
662 | 665 |
|
663 | 666 |
|
664 | 667 | def test_should_compare_prerelease_with_numbers_and_letters():
|
@@ -911,6 +914,22 @@ def test_should_parse_cli_arguments(cli, expected):
|
911 | 914 | # check subcommand
|
912 | 915 | (cmd_check, Namespace(version="1.2.3"), does_not_raise(None)),
|
913 | 916 | (cmd_check, Namespace(version="1.2"), pytest.raises(ValueError)),
|
| 917 | + # nextver subcommand |
| 918 | + ( |
| 919 | + cmd_nextver, |
| 920 | + Namespace(version="1.2.3", part="major"), |
| 921 | + does_not_raise("2.0.0"), |
| 922 | + ), |
| 923 | + ( |
| 924 | + cmd_nextver, |
| 925 | + Namespace(version="1.2", part="major"), |
| 926 | + pytest.raises(ValueError), |
| 927 | + ), |
| 928 | + ( |
| 929 | + cmd_nextver, |
| 930 | + Namespace(version="1.2.3", part="nope"), |
| 931 | + pytest.raises(ValueError), |
| 932 | + ), |
914 | 933 | ],
|
915 | 934 | )
|
916 | 935 | def test_should_process_parsed_cli_arguments(func, args, expectation):
|
@@ -1074,3 +1093,36 @@ def test_next_version_with_versioninfo(version, part, expected):
|
1074 | 1093 | next_version = ver.next_version(part)
|
1075 | 1094 | assert isinstance(next_version, VersionInfo)
|
1076 | 1095 | assert str(next_version) == expected
|
| 1096 | + |
| 1097 | + |
| 1098 | +@pytest.mark.parametrize( |
| 1099 | + "version, expected", |
| 1100 | + [ |
| 1101 | + ( |
| 1102 | + VersionInfo(major=1, minor=2, patch=3, prerelease=None, build=None), |
| 1103 | + "VersionInfo(major=1, minor=2, patch=3, prerelease=None, build=None)", |
| 1104 | + ), |
| 1105 | + ( |
| 1106 | + VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build=None), |
| 1107 | + "VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build=None)", |
| 1108 | + ), |
| 1109 | + ( |
| 1110 | + VersionInfo(major=1, minor=2, patch=3, prerelease="dev.1", build=None), |
| 1111 | + "VersionInfo(major=1, minor=2, patch=3, prerelease='dev.1', build=None)", |
| 1112 | + ), |
| 1113 | + ( |
| 1114 | + VersionInfo(major=1, minor=2, patch=3, prerelease="dev.1", build="b.1"), |
| 1115 | + "VersionInfo(major=1, minor=2, patch=3, prerelease='dev.1', build='b.1')", |
| 1116 | + ), |
| 1117 | + ( |
| 1118 | + VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build="b.1"), |
| 1119 | + "VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build='b.1')", |
| 1120 | + ), |
| 1121 | + ( |
| 1122 | + VersionInfo(major=1, minor=2, patch=3, prerelease="r.1", build="build.1"), |
| 1123 | + "VersionInfo(major=1, minor=2, patch=3, prerelease='r.1', build='build.1')", |
| 1124 | + ), |
| 1125 | + ], |
| 1126 | +) |
| 1127 | +def test_repr(version, expected): |
| 1128 | + assert repr(version) == expected |
0 commit comments