diff --git a/v4/range.go b/v4/range.go index 95f7139..47dde41 100644 --- a/v4/range.go +++ b/v4/range.go @@ -327,12 +327,13 @@ func expandWildcardVersion(parts [][]string) ([][]string, error) { for _, p := range parts { var newParts []string for _, ap := range p { - if strings.Contains(ap, "x") { - opStr, vStr, err := splitComparatorVersion(ap) - if err != nil { - return nil, err - } + + opStr, vStr, err := splitComparatorVersion(ap) + if err != nil { + return nil, err + } + if strings.Contains(ap, ".x") { versionWildcardType := getWildcardType(vStr) flatVersion := createVersionFromWildcard(vStr) diff --git a/v4/range_test.go b/v4/range_test.go index 2f44de4..9724ece 100644 --- a/v4/range_test.go +++ b/v4/range_test.go @@ -272,6 +272,7 @@ func TestExpandWildcardVersion(t *testing.T) { o [][]string }{ {[][]string{{"foox"}}, nil}, + {[][]string{{"0.1.0-x"}}, [][]string{{"0.1.0-x"}}}, {[][]string{{">=1.2.x"}}, [][]string{{">=1.2.0"}}}, {[][]string{{"<=1.2.x"}}, [][]string{{"<1.3.0"}}}, {[][]string{{">1.2.x"}}, [][]string{{">=1.3.0"}}}, @@ -485,6 +486,9 @@ func TestParseRange(t *testing.T) { {"2.9.9", true}, {"3.0.0", false}, }}, + {"0.1.0-x", []tv{ + {"0.1.0-x", true}, + }}, } for _, tc := range tests {