Skip to content

Commit 1426926

Browse files
committed
Don't treat x in pre-release and build metadata identifiers as a wildcard
Signed-off-by: Max Brauer <[email protected]>
1 parent 5409682 commit 1426926

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

v4/range.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,8 @@ func expandWildcardVersion(parts [][]string) ([][]string, error) {
327327
for _, p := range parts {
328328
var newParts []string
329329
for _, ap := range p {
330-
if strings.Contains(ap, "x") {
330+
strings.Split(ap, "-")
331+
if strings.Contains(strings.Split(strings.Split(ap, "+")[0], "-")[0], "x") {
331332
opStr, vStr, err := splitComparatorVersion(ap)
332333
if err != nil {
333334
return nil, err

v4/range_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ func TestGetWildcardType(t *testing.T) {
202202
{"x", majorWildcard},
203203
{"1.x", minorWildcard},
204204
{"1.2.x", patchWildcard},
205+
{"1.2.3-experimental", noneWildcard},
205206
{"fo.o.b.ar", noneWildcard},
206207
}
207208

@@ -387,6 +388,21 @@ func TestParseRange(t *testing.T) {
387388
{"1.2.3", true},
388389
{"1.2.4", false},
389390
}},
391+
{"1.2.3-prerelease.2", []tv{
392+
{"1.2.3-prerelease.1", false},
393+
{"1.2.3-prerelease.2", true},
394+
{"1.2.3-prerelease.3", false},
395+
}},
396+
{"1.2.3-experimental.2", []tv{
397+
{"1.2.3-experimental.1", false},
398+
{"1.2.3-experimental.2", true},
399+
{"1.2.3-experimental.3", false},
400+
}},
401+
{"1.2.3+experimental.2", []tv{
402+
{"1.2.3+experimental.1", false},
403+
{"1.2.3+experimental.2", true},
404+
{"1.2.3+experimental.3", false},
405+
}},
390406
{"=1.2.3", []tv{
391407
{"1.2.2", false},
392408
{"1.2.3", true},

0 commit comments

Comments
 (0)