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