mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
releaser: Fix regexp
Original regexp used a char class which caused the regexp to only check 1 symbol instead of a substring like "See" and "Closes". So it would match `e #x` instead of `See #x` and many other weird combinations. Tests were passing as they never checked against an input that would confuse that regexp. Found with go-critic static analyzer, `badRegexp` checker.
This commit is contained in:
parent
cd4e67af18
commit
d7331aaa7e
2 changed files with 11 additions and 1 deletions
|
@ -23,7 +23,7 @@ import (
|
||||||
"github.com/gohugoio/hugo/common/hexec"
|
"github.com/gohugoio/hugo/common/hexec"
|
||||||
)
|
)
|
||||||
|
|
||||||
var issueRe = regexp.MustCompile(`(?i)[Updates?|Closes?|Fix.*|See] #(\d+)`)
|
var issueRe = regexp.MustCompile(`(?i)(?:Updates?|Closes?|Fix.*|See) #(\d+)`)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
notesChanges = "notesChanges"
|
notesChanges = "notesChanges"
|
||||||
|
|
|
@ -45,6 +45,16 @@ See #456
|
||||||
c.Assert(len(issues), qt.Equals, 4)
|
c.Assert(len(issues), qt.Equals, 4)
|
||||||
c.Assert(issues[0], qt.Equals, 123)
|
c.Assert(issues[0], qt.Equals, 123)
|
||||||
c.Assert(issues[2], qt.Equals, 543)
|
c.Assert(issues[2], qt.Equals, 543)
|
||||||
|
|
||||||
|
bodyNoIssues := `
|
||||||
|
This is a commit message without issue refs.
|
||||||
|
|
||||||
|
But it has e #10 to make old regexp confused.
|
||||||
|
Streets #20.
|
||||||
|
`
|
||||||
|
|
||||||
|
emptyIssuesList := extractIssues(bodyNoIssues)
|
||||||
|
c.Assert(len(emptyIssuesList), qt.Equals, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGitVersionTagBefore(t *testing.T) {
|
func TestGitVersionTagBefore(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue