|
12 | 12 |
|
13 | 13 | from commitizen.config.base_config import BaseConfig
|
14 | 14 | from commitizen.exceptions import VersionSchemeUnknown
|
15 |
| -from commitizen.version_schemes import Pep440, SemVer, get_version_scheme |
| 15 | +from commitizen.version_schemes import Pep440, Prerelease, SemVer, get_version_scheme |
| 16 | + |
| 17 | + |
| 18 | +class TestPrereleaseSafeCast: |
| 19 | + def test_safe_cast_valid_strings(self): |
| 20 | + assert Prerelease.safe_cast("ALPHA") == Prerelease.ALPHA |
| 21 | + assert Prerelease.safe_cast("BETA") == Prerelease.BETA |
| 22 | + assert Prerelease.safe_cast("RC") == Prerelease.RC |
| 23 | + |
| 24 | + def test_safe_cast_case_insensitive(self): |
| 25 | + assert Prerelease.safe_cast("alpha") == Prerelease.ALPHA |
| 26 | + assert Prerelease.safe_cast("beta") == Prerelease.BETA |
| 27 | + assert Prerelease.safe_cast("rc") == Prerelease.RC |
| 28 | + assert Prerelease.safe_cast("Alpha") == Prerelease.ALPHA |
| 29 | + assert Prerelease.safe_cast("Beta") == Prerelease.BETA |
| 30 | + assert Prerelease.safe_cast("Rc") == Prerelease.RC |
| 31 | + |
| 32 | + def test_safe_cast_invalid_strings(self): |
| 33 | + assert Prerelease.safe_cast("invalid") is None |
| 34 | + assert Prerelease.safe_cast("") is None |
| 35 | + assert Prerelease.safe_cast("release") is None |
| 36 | + |
| 37 | + def test_safe_cast_non_string_values(self): |
| 38 | + assert Prerelease.safe_cast(None) is None |
| 39 | + assert Prerelease.safe_cast(1) is None |
| 40 | + assert Prerelease.safe_cast(True) is None |
| 41 | + assert Prerelease.safe_cast([]) is None |
| 42 | + assert Prerelease.safe_cast({}) is None |
| 43 | + assert Prerelease.safe_cast(Prerelease.ALPHA) is None # enum value itself |
16 | 44 |
|
17 | 45 |
|
18 | 46 | def test_default_version_scheme_is_pep440(config: BaseConfig):
|
|
0 commit comments