mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-23 05:45:34 +03:00
Allow colon between fixing word and issue (#7207)
* Allow colon between fixing word and issue * update test
This commit is contained in:
parent
9ce4d89e99
commit
94ceaf1c0c
2 changed files with 27 additions and 1 deletions
|
@ -67,7 +67,7 @@ var (
|
||||||
const issueRefRegexpStr = `(?:([0-9a-zA-Z-_\.]+)/([0-9a-zA-Z-_\.]+))?(#[0-9]+)+`
|
const issueRefRegexpStr = `(?:([0-9a-zA-Z-_\.]+)/([0-9a-zA-Z-_\.]+))?(#[0-9]+)+`
|
||||||
|
|
||||||
func assembleKeywordsPattern(words []string) string {
|
func assembleKeywordsPattern(words []string) string {
|
||||||
return fmt.Sprintf(`(?i)(?:%s) %s`, strings.Join(words, "|"), issueRefRegexpStr)
|
return fmt.Sprintf(`(?i)(?:%s)(?::?) %s`, strings.Join(words, "|"), issueRefRegexpStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
|
@ -166,6 +166,7 @@ func Test_getIssueFromRef(t *testing.T) {
|
||||||
{"reopen #2", 2},
|
{"reopen #2", 2},
|
||||||
{"user2/repo2#1", 4},
|
{"user2/repo2#1", 4},
|
||||||
{"fixes user2/repo2#1", 4},
|
{"fixes user2/repo2#1", 4},
|
||||||
|
{"fixes: user2/repo2#1", 4},
|
||||||
} {
|
} {
|
||||||
issue, err := getIssueFromRef(repo, test.Ref)
|
issue, err := getIssueFromRef(repo, test.Ref)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -260,6 +261,31 @@ func TestUpdateIssuesCommit(t *testing.T) {
|
||||||
CheckConsistencyFor(t, &Action{})
|
CheckConsistencyFor(t, &Action{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpdateIssuesCommit_Colon(t *testing.T) {
|
||||||
|
assert.NoError(t, PrepareTestDatabase())
|
||||||
|
pushCommits := []*PushCommit{
|
||||||
|
{
|
||||||
|
Sha1: "abcdef2",
|
||||||
|
CommitterEmail: "user2@example.com",
|
||||||
|
CommitterName: "User Two",
|
||||||
|
AuthorEmail: "user2@example.com",
|
||||||
|
AuthorName: "User Two",
|
||||||
|
Message: "close: #2",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
|
||||||
|
repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
|
||||||
|
repo.Owner = user
|
||||||
|
|
||||||
|
issueBean := &Issue{RepoID: repo.ID, Index: 2}
|
||||||
|
|
||||||
|
AssertNotExistsBean(t, &Issue{RepoID: repo.ID, Index: 2}, "is_closed=1")
|
||||||
|
assert.NoError(t, UpdateIssuesCommit(user, repo, pushCommits, repo.DefaultBranch))
|
||||||
|
AssertExistsAndLoadBean(t, issueBean, "is_closed=1")
|
||||||
|
CheckConsistencyFor(t, &Action{})
|
||||||
|
}
|
||||||
|
|
||||||
func TestUpdateIssuesCommit_Issue5957(t *testing.T) {
|
func TestUpdateIssuesCommit_Issue5957(t *testing.T) {
|
||||||
assert.NoError(t, PrepareTestDatabase())
|
assert.NoError(t, PrepareTestDatabase())
|
||||||
user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
|
user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
|
||||||
|
|
Loading…
Reference in a new issue