Correctly link URLs to users/repos with dashes, dots or underscores (#18890)
* Add tests for references with dashes This commit adds tests for full URLs referencing repos names and user names containing a dash. * Extend regex to match URLs to repos/users with dashes
This commit is contained in:
parent
9d7a431b71
commit
fd273b05b9
2 changed files with 10 additions and 1 deletions
|
@ -99,7 +99,7 @@ var issueFullPatternOnce sync.Once
|
||||||
func getIssueFullPattern() *regexp.Regexp {
|
func getIssueFullPattern() *regexp.Regexp {
|
||||||
issueFullPatternOnce.Do(func() {
|
issueFullPatternOnce.Do(func() {
|
||||||
issueFullPattern = regexp.MustCompile(regexp.QuoteMeta(setting.AppURL) +
|
issueFullPattern = regexp.MustCompile(regexp.QuoteMeta(setting.AppURL) +
|
||||||
`\w+/\w+/(?:issues|pulls)/((?:\w{1,10}-)?[1-9][0-9]*)([\?|#](\S+)?)?\b`)
|
`[\w_.-]+/[\w_.-]+/(?:issues|pulls)/((?:\w{1,10}-)?[1-9][0-9]*)([\?|#](\S+)?)?\b`)
|
||||||
})
|
})
|
||||||
return issueFullPattern
|
return issueFullPattern
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,15 @@ func TestRender_CrossReferences(t *testing.T) {
|
||||||
test(
|
test(
|
||||||
"/home/gitea/go-gitea/gitea#12345",
|
"/home/gitea/go-gitea/gitea#12345",
|
||||||
`<p>/home/gitea/go-gitea/gitea#12345</p>`)
|
`<p>/home/gitea/go-gitea/gitea#12345</p>`)
|
||||||
|
test(
|
||||||
|
util.URLJoin(TestAppURL, "gogitea", "gitea", "issues", "12345"),
|
||||||
|
`<p><a href="`+util.URLJoin(TestAppURL, "gogitea", "gitea", "issues", "12345")+`" class="ref-issue" rel="nofollow">gogitea/gitea#12345</a></p>`)
|
||||||
|
test(
|
||||||
|
util.URLJoin(TestAppURL, "go-gitea", "gitea", "issues", "12345"),
|
||||||
|
`<p><a href="`+util.URLJoin(TestAppURL, "go-gitea", "gitea", "issues", "12345")+`" class="ref-issue" rel="nofollow">go-gitea/gitea#12345</a></p>`)
|
||||||
|
test(
|
||||||
|
util.URLJoin(TestAppURL, "gogitea", "some-repo-name", "issues", "12345"),
|
||||||
|
`<p><a href="`+util.URLJoin(TestAppURL, "gogitea", "some-repo-name", "issues", "12345")+`" class="ref-issue" rel="nofollow">gogitea/some-repo-name#12345</a></p>`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMisc_IsSameDomain(t *testing.T) {
|
func TestMisc_IsSameDomain(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue