summaryrefslogtreecommitdiffstats
path: root/modules/markup/orgmode/orgmode_test.go
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2024-02-08 01:24:28 +0800
committerGitHub <noreply@github.com>2024-02-07 17:24:28 +0000
commit19a08c7fe22e64d837dea69a395e36ad72bbf76f (patch)
tree3580cc37092e75bcc0cda42b9798adae13de8f7f /modules/markup/orgmode/orgmode_test.go
parentf0d34cd3b97dd2c9f29fc401ec58ea0661b7ca7d (diff)
downloadgitea-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.go46
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{