diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2024-02-08 01:24:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-07 17:24:28 +0000 |
commit | 19a08c7fe22e64d837dea69a395e36ad72bbf76f (patch) | |
tree | 3580cc37092e75bcc0cda42b9798adae13de8f7f /modules/markup/orgmode/orgmode_test.go | |
parent | f0d34cd3b97dd2c9f29fc401ec58ea0661b7ca7d (diff) | |
download | gitea-19a08c7fe22e64d837dea69a395e36ad72bbf76f.tar.gz gitea-19a08c7fe22e64d837dea69a395e36ad72bbf76f.zip |
Fix orgmode link resolving (#29024) (#29076)
Backport #29024
Also backport #27968 (remove unnecessary titles)
Fix #28974
Add some new tests and fix some legacy unclear tests.
Diffstat (limited to 'modules/markup/orgmode/orgmode_test.go')
-rw-r--r-- | modules/markup/orgmode/orgmode_test.go | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/modules/markup/orgmode/orgmode_test.go b/modules/markup/orgmode/orgmode_test.go index cb9b24f6d0..b320cc7f5b 100644 --- a/modules/markup/orgmode/orgmode_test.go +++ b/modules/markup/orgmode/orgmode_test.go @@ -10,60 +10,53 @@ import ( "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/setting" - "code.gitea.io/gitea/modules/util" "github.com/stretchr/testify/assert" ) -const ( - AppURL = "http://localhost:3000/" - Repo = "gogits/gogs" - AppSubURL = AppURL + Repo + "/" -) +const AppURL = "http://localhost:3000/" func TestRender_StandardLinks(t *testing.T) { setting.AppURL = AppURL - setting.AppSubURL = AppSubURL test := func(input, expected string) { buffer, err := RenderString(&markup.RenderContext{ Ctx: git.DefaultContext, Links: markup.Links{ - Base: setting.AppSubURL, + Base: "/relative-path", + BranchPath: "branch/main", }, }, input) assert.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } - googleRendered := "<p><a href=\"https://google.com/\" title=\"https://google.com/\">https://google.com/</a></p>" - test("[[https://google.com/]]", googleRendered) - - lnk := util.URLJoin(AppSubURL, "WikiPage") - test("[[WikiPage][WikiPage]]", - "<p><a href=\""+lnk+"\" title=\"WikiPage\">WikiPage</a></p>") + test("[[https://google.com/]]", + `<p><a href="https://google.com/">https://google.com/</a></p>`) + test("[[WikiPage][The WikiPage Desc]]", + `<p><a href="/relative-path/WikiPage">The WikiPage Desc</a></p>`) + test("[[ImageLink.svg][The Image Desc]]", + `<p><a href="/relative-path/media/branch/main/ImageLink.svg">The Image Desc</a></p>`) } func TestRender_Media(t *testing.T) { setting.AppURL = AppURL - setting.AppSubURL = AppSubURL test := func(input, expected string) { buffer, err := RenderString(&markup.RenderContext{ Ctx: git.DefaultContext, Links: markup.Links{ - Base: setting.AppSubURL, + Base: "./relative-path", }, }, input) assert.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } - url := "../../.images/src/02/train.jpg" - result := util.URLJoin(AppSubURL, url) - - test("[[file:"+url+"]]", - "<p><img src=\""+result+"\" alt=\""+result+"\" /></p>") + test("[[file:../../.images/src/02/train.jpg]]", + `<p><img src=".images/src/02/train.jpg" alt=".images/src/02/train.jpg" /></p>`) + test("[[file:train.jpg]]", + `<p><img src="relative-path/train.jpg" alt="relative-path/train.jpg" /></p>`) // With description. test("[[https://example.com][https://example.com/example.svg]]", @@ -76,11 +69,20 @@ func TestRender_Media(t *testing.T) { `<p><img src="https://example.com/example.svg" alt="https://example.com/example.svg" /></p>`) test("[[https://example.com/example.mp4]]", `<p><video src="https://example.com/example.mp4">https://example.com/example.mp4</video></p>`) + + // test [[LINK][DESCRIPTION]] syntax with "file:" prefix + test(`[[https://example.com/][file:https://example.com/foo%20bar.svg]]`, + `<p><a href="https://example.com/"><img src="https://example.com/foo%20bar.svg" alt="https://example.com/foo%20bar.svg" /></a></p>`) + test(`[[file:https://example.com/foo%20bar.svg][Goto Image]]`, + `<p><a href="https://example.com/foo%20bar.svg">Goto Image</a></p>`) + test(`[[file:https://example.com/link][https://example.com/image.jpg]]`, + `<p><a href="https://example.com/link"><img src="https://example.com/image.jpg" alt="https://example.com/image.jpg" /></a></p>`) + test(`[[file:https://example.com/link][file:https://example.com/image.jpg]]`, + `<p><a href="https://example.com/link"><img src="https://example.com/image.jpg" alt="https://example.com/image.jpg" /></a></p>`) } func TestRender_Source(t *testing.T) { setting.AppURL = AppURL - setting.AppSubURL = AppSubURL test := func(input, expected string) { buffer, err := RenderString(&markup.RenderContext{ |