summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrsdizzie <info@mrsdizzie.com>2019-04-16 03:53:57 -0400
committerzeripath <art27@cantab.net>2019-04-16 08:53:57 +0100
commit1bce1894f5ceefff2af0ebb95d060cec6f9c21b2 (patch)
tree280e3b2cb5e7e4306e983d030a7d0018292414e0
parente98565ddc71013bc4bc5537f15f545cf909fac3a (diff)
downloadgitea-1bce1894f5ceefff2af0ebb95d060cec6f9c21b2.tar.gz
gitea-1bce1894f5ceefff2af0ebb95d060cec6f9c21b2.zip
Use ctx.metas for SHA hash links (#6645)
Since #6273 was merged, we now have access to proper context metas always. Update SHA generated links to use these instead of urlPrefix. Update tests as well. Fixes #4536.
-rw-r--r--modules/markup/html.go5
-rw-r--r--modules/markup/html_test.go11
-rw-r--r--modules/markup/markdown/markdown_test.go4
3 files changed, 16 insertions, 4 deletions
diff --git a/modules/markup/html.go b/modules/markup/html.go
index 930c6b3a3e..adc2bef530 100644
--- a/modules/markup/html.go
+++ b/modules/markup/html.go
@@ -625,6 +625,9 @@ func crossReferenceIssueIndexPatternProcessor(ctx *postProcessCtx, node *html.No
// fullSha1PatternProcessor renders SHA containing URLs
func fullSha1PatternProcessor(ctx *postProcessCtx, node *html.Node) {
+ if ctx.metas == nil {
+ return
+ }
m := anySHA1Pattern.FindStringSubmatchIndex(node.Data)
if m == nil {
return
@@ -686,7 +689,7 @@ func sha1CurrentPatternProcessor(ctx *postProcessCtx, node *html.Node) {
// Although unlikely, deadbeef and 1234567 are valid short forms of SHA1 hash
// as used by git and github for linking and thus we have to do similar.
replaceContent(node, m[2], m[3],
- createCodeLink(util.URLJoin(ctx.urlPrefix, "commit", hash), base.ShortSha(hash)))
+ createCodeLink(util.URLJoin(setting.AppURL, ctx.metas["user"], ctx.metas["repo"], "commit", hash), base.ShortSha(hash)))
}
// emailAddressProcessor replaces raw email addresses with a mailto: link.
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go
index 6d3da31934..543db1d462 100644
--- a/modules/markup/html_test.go
+++ b/modules/markup/html_test.go
@@ -16,12 +16,17 @@ import (
"github.com/stretchr/testify/assert"
)
+var localMetas = map[string]string{
+ "user": "gogits",
+ "repo": "gogs",
+}
+
func TestRender_Commits(t *testing.T) {
setting.AppURL = AppURL
setting.AppSubURL = AppSubURL
test := func(input, expected string) {
- buffer := RenderString(".md", input, setting.AppSubURL, nil)
+ buffer := RenderString(".md", input, setting.AppSubURL, localMetas)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
}
@@ -45,7 +50,7 @@ func TestRender_CrossReferences(t *testing.T) {
setting.AppSubURL = AppSubURL
test := func(input, expected string) {
- buffer := RenderString("a.md", input, setting.AppSubURL, nil)
+ buffer := RenderString("a.md", input, setting.AppSubURL, localMetas)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
}
@@ -195,7 +200,7 @@ func TestRender_ShortLinks(t *testing.T) {
test := func(input, expected, expectedWiki string) {
buffer := markdown.RenderString(input, tree, nil)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
- buffer = markdown.RenderWiki([]byte(input), setting.AppSubURL, nil)
+ buffer = markdown.RenderWiki([]byte(input), setting.AppSubURL, localMetas)
assert.Equal(t, strings.TrimSpace(expectedWiki), strings.TrimSpace(string(buffer)))
}
diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go
index 8ba51e6a1b..2128639b9f 100644
--- a/modules/markup/markdown/markdown_test.go
+++ b/modules/markup/markdown/markdown_test.go
@@ -103,6 +103,8 @@ func testAnswers(baseURLContent, baseURLImages string) []string {
<li><a href="` + baseURLContent + `/Tips" rel="nofollow">Tips</a></li>
</ul>
+<p>See commit <a href="http://localhost:3000/gogits/gogs/commit/fc7f44dadf" rel="nofollow"><code>fc7f44dadf</code></a></p>
+
<p>Ideas and codes</p>
<ul>
@@ -192,6 +194,8 @@ var sameCases = []string{
- [[Links, Language bindings, Engine bindings|Links]]
- [[Tips]]
+See commit fc7f44dadf
+
Ideas and codes
- Bezier widget (by @r-lyeh) ` + AppURL + `ocornut/imgui/issues/786