From 8fbf9aa32d0119d3df36982c7688715dd178b96d Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Thu, 12 Nov 2020 16:03:28 +0000 Subject: [PATCH] tests: Ensure semver build metadata is ignored According to the Semantic Versioning specification, build metadata must be ignored for version comparisions, so add some explicit tests for this scenario to `TestGetNewReleaseType()`. Signed-off-by: James O. D. Hunt --- cli/release_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cli/release_test.go b/cli/release_test.go index 370dcdfbae..c68650e6f9 100644 --- a/cli/release_test.go +++ b/cli/release_test.go @@ -458,6 +458,21 @@ func TestGetNewReleaseType(t *testing.T) { } data := []testData{ + // Check build metadata (ignored for version comparisons) + {"2.0.0+build", "2.0.0", true, ""}, + {"2.0.0+build-1", "2.0.0+build-2", true, ""}, + {"1.12.0+build", "1.12.0", true, ""}, + + {"2.0.0-rc3+foo", "2.0.0", false, "major"}, + {"2.0.0-rc3+foo", "2.0.0-rc4", false, "pre-release"}, + {"1.12.0+foo", "1.13.0", false, "minor"}, + + {"1.12.0+build", "2.0.0", false, "major"}, + {"1.12.0+build", "1.13.0", false, "minor"}, + {"1.12.0-rc2+build", "1.12.1", false, "patch"}, + {"1.12.0-rc2+build", "1.12.1-foo", false, "patch pre-release"}, + {"1.12.0-rc4+wibble", "1.12.0", false, "major"}, + {"2.0.0-alpha3", "1.0.0", true, ""}, {"1.0.0", "1.0.0", true, ""}, {"2.0.0", "1.0.0", true, ""},