Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions util/semver/nuget_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ var nugetVersionParseTests = []versionParseTest{
v("1.*.*", "version has multiple wildcards in `1.*.*`", ""),
v("1.0.0*-alpha", "missing asterisk at end of prerelease in `1.0.0*-alpha`", ""),
v("1.0.0-a*a*", "invalid text in version string in `1.0.0-a*a*`", ""),
v("1*.", "invalid text in version string in `1*.`", ""),
v("1*-", "empty pre-release metadata in `1*-`", ""),
}

func TestNuGetVersionParse(t *testing.T) {
Expand Down
5 changes: 4 additions & 1 deletion util/semver/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -526,9 +526,12 @@ func (p *versionParser) version() (*Version, error) {
// NuGet allows for the metadata part to start and end with an
// asterisk.
r = p.lex.next()
if r != eof {
if r == '-' {
p.isPrerelease = true
r = p.metadata(&p.pre, false, "pre-release")
if len(p.pre) == 0 {
return nil, p.lex.err
}
l := p.pre[len(p.pre)-1]
if l[len(l)-1] != '*' {
p.lex.setErr("missing asterisk at end of prerelease")
Expand Down
Loading