From 966635e3d228fb1cb363da57112856012ec5f111 Mon Sep 17 00:00:00 2001 From: arshchimni Date: Wed, 3 Aug 2022 12:42:17 +0530 Subject: [PATCH] add minor version check --- constraints.go | 4 ++++ constraints_test.go | 2 ++ 2 files changed, 6 insertions(+) diff --git a/constraints.go b/constraints.go index 547613f..4926c3f 100644 --- a/constraints.go +++ b/constraints.go @@ -534,6 +534,10 @@ func constraintCaret(v *Version, c *constraint) (bool, error) { } return false, fmt.Errorf("%s does not have same minor version as %s. Expected minor versions to match when constraint major version is 0", v, c.orig) } + // ^ when the minor is 0 and minor > 0 is >=0.y.z < 0.y+1 + if c.con.Minor() == 0 && v.Minor() > 0 { + return false, fmt.Errorf("%s does not have same minor version as %s", v, c.orig) + } // At this point the major is 0 and the minor is 0 and not dirty. The patch // is not dirty so we need to check if they are equal. If they are not equal diff --git a/constraints_test.go b/constraints_test.go index 0504399..0dbf4b7 100644 --- a/constraints_test.go +++ b/constraints_test.go @@ -362,6 +362,8 @@ func TestConstraintsCheck(t *testing.T) { {"^1.x", "1.1.1-beta1", false}, {"^1.1.2-alpha", "1.2.1-beta1", true}, {"^1.2.x-alpha", "1.1.1-beta1", false}, + {"^0.0.1", "0.0.1", true}, + {"^0.0.1", "0.3.1", false}, {"~*", "2.1.1", true}, {"~1", "2.1.1", false}, {"~1", "1.3.5", true},