diff --git a/constraint_test.go b/constraint_test.go index 9c5bee3..d3721dc 100644 --- a/constraint_test.go +++ b/constraint_test.go @@ -12,7 +12,7 @@ func TestNewConstraint(t *testing.T) { }{ {">= 1.2", 1, false}, {"1.0", 1, false}, - {">= 1.x", 0, true}, + {">= 1.x", 1, false}, {">= 1.2, < 1.0", 2, false}, // Out of bounds diff --git a/version.go b/version.go index 1d96a6f..afaa7a7 100644 --- a/version.go +++ b/version.go @@ -19,7 +19,7 @@ var ( // of a version. const ( VersionRegexpRaw string = `[vV]?([0-9]+(\.[0-9]+)*?)` + - `(-([0-9]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)|(-?([A-Za-z\-~]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)))?` + + `(-([0-9]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)|([-\.]?([A-Za-z\-~]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)))?` + `(\+([0-9A-Za-z\-~]+(\.[0-9A-Za-z\-~]+)*))?` + `([\+\.\-~]g[0-9A-Fa-f]{10}$)?` + `?` diff --git a/version_test.go b/version_test.go index 4181e9a..574c150 100644 --- a/version_test.go +++ b/version_test.go @@ -10,6 +10,7 @@ func TestNewVersion(t *testing.T) { version string err bool }{ + // No Error {"1.2.3", false}, {"1.0", false}, {"1", false}, @@ -31,9 +32,12 @@ func TestNewVersion(t *testing.T) { {"2.28.0.618+gf4bc123cb7", false}, {"1.13.0+dev-545-gb3b1c081b", false}, {"2.28.0.618.gf4bc123cb7", false}, + {"2.29.0.rc0.261.g7178c9af9c", false}, + {"1.2.beta", false}, + {"1.21.beta", false}, + + // Have Error {"", true}, - {"1.2.beta", true}, - {"1.21.beta", true}, {"foo", true}, {"\n1.2", true}, {"foo1.2.3", true},