From 3f815a5f15fec8cf0d65869c1b4fdf64fff9c91e Mon Sep 17 00:00:00 2001 From: Tom Schraitle Date: Wed, 13 May 2020 18:25:53 +0200 Subject: [PATCH] Fix #251: return VersionInfo for next_version * Return VersionInfo instance in VersionInfo.next_version and not str when part is major, minor, or patch. * Change test_next_version_with_versioninfo Test for correct return type (should be VersionInfo) Co-authored-by: Thomas Laferriere --- CHANGELOG.rst | 28 ++++++++++++++++++++++++++++ semver.py | 2 +- test_semver.py | 4 +++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 94564c7f..777deb60 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,34 @@ Change Log All notable changes to this code base will be documented in this file, in every released version. + +Version 2.10.1 (WIP) +==================== + +:Released: 2020-0x-0y +:Maintainer: + + +Features +-------- + + +Bug Fixes +--------- + +* :gh:`251` (:pr:`000`): Fixed return type of ``semver.VersionInfo.next_version`` + to always return a ``VersionInfo`` instance. + + +Additions +--------- + + +Removals +-------- + + + Version 2.10.0 ============== diff --git a/semver.py b/semver.py index c2697dd5..e80cde90 100644 --- a/semver.py +++ b/semver.py @@ -495,7 +495,7 @@ def next_version(self, part, prerelease_token="rc"): return version.replace(prerelease=None, build=None) if part in ("major", "minor", "patch"): - return str(getattr(version, "bump_" + part)()) + return getattr(version, "bump_" + part)() if not version.prerelease: version = version.bump_patch() diff --git a/test_semver.py b/test_semver.py index db0c7f4e..ba90bbad 100644 --- a/test_semver.py +++ b/test_semver.py @@ -1050,4 +1050,6 @@ def test_next_version_with_invalid_parts(): ) def test_next_version_with_versioninfo(version, part, expected): ver = VersionInfo.parse(version) - assert str(ver.next_version(part)) == expected + nxt = ver.next_version(part) + assert isinstance(nxt, VersionInfo) + assert str(nxt) == expected