mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	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:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							9d7a431b71
						
					
				
				
					commit
					fd273b05b9
				
			@@ -99,7 +99,7 @@ var issueFullPatternOnce sync.Once
 | 
			
		||||
func getIssueFullPattern() *regexp.Regexp {
 | 
			
		||||
	issueFullPatternOnce.Do(func() {
 | 
			
		||||
		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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,15 @@ func TestRender_CrossReferences(t *testing.T) {
 | 
			
		||||
	test(
 | 
			
		||||
		"/home/gitea/go-gitea/gitea#12345",
 | 
			
		||||
		`<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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user