From e9e2a9cdcc52e9e33838074ec7e8a0bdbbe8dace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6berl?= Date: Sat, 3 Feb 2018 10:51:02 +0100 Subject: [PATCH] Allow square brackets in external issue patterns (#3408) * Allow square brackets in external issue patterns * Added false test cases for checklist elements --- modules/markup/html.go | 4 ++-- modules/markup/html_test.go | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/markup/html.go b/modules/markup/html.go index d33afd384..772c521ea 100644 --- a/modules/markup/html.go +++ b/modules/markup/html.go @@ -38,9 +38,9 @@ var ( MentionPattern = regexp.MustCompile(`(\s|^|\W)@[0-9a-zA-Z-_\.]+`) // IssueNumericPattern matches string that references to a numeric issue, e.g. #1287 - IssueNumericPattern = regexp.MustCompile(`( |^|\()#[0-9]+\b`) + IssueNumericPattern = regexp.MustCompile(`( |^|\(|\[)#[0-9]+\b`) // IssueAlphanumericPattern matches string that references to an alphanumeric issue, e.g. ABC-1234 - IssueAlphanumericPattern = regexp.MustCompile(`( |^|\()[A-Z]{1,10}-[1-9][0-9]*\b`) + IssueAlphanumericPattern = regexp.MustCompile(`( |^|\(|\[)[A-Z]{1,10}-[1-9][0-9]*\b`) // CrossReferenceIssueNumericPattern matches string that references a numeric issue in a different repository // e.g. gogits/gogs#12345 CrossReferenceIssueNumericPattern = regexp.MustCompile(`( |^)[0-9a-zA-Z-_\.]+/[0-9a-zA-Z-_\.]+#[0-9]+\b`) diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go index 5e783c754..4e47b47b0 100644 --- a/modules/markup/html_test.go +++ b/modules/markup/html_test.go @@ -345,6 +345,7 @@ func TestRegExp_IssueNumericPattern(t *testing.T) { "#1234", "#0", "#1234567890987654321", + "[#1234]", } falseTestCases := []string{ "# 1234", @@ -355,6 +356,8 @@ func TestRegExp_IssueNumericPattern(t *testing.T) { "#1A2B", "", "ABC", + "[]", + "[x]", } for _, testCase := range trueTestCases { @@ -371,6 +374,7 @@ func TestRegExp_IssueAlphanumericPattern(t *testing.T) { "A-1", "RC-80", "ABCDEFGHIJ-1234567890987654321234567890", + "[JIRA-134]", } falseTestCases := []string{ "RC-08", @@ -383,6 +387,7 @@ func TestRegExp_IssueAlphanumericPattern(t *testing.T) { "ABC", "GG-", "rm-1", + "[]", } for _, testCase := range trueTestCases {