Refactor render system (orgmode) (#32671)

Close  #29100
This commit is contained in:
wxiaoguang 2024-11-29 16:08:29 +08:00 committed by GitHub
parent a1f56f83bf
commit 93640993e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 85 additions and 50 deletions

View file

@ -12,6 +12,8 @@ import (
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/markup/markdown"
_ "code.gitea.io/gitea/modules/markup/orgmode"
"github.com/stretchr/testify/assert"
)
@ -81,3 +83,40 @@ func TestRepoFile(t *testing.T) {
</video>`, rendered)
})
}
func TestRepoFileOrgMode(t *testing.T) {
unittest.PrepareTestEnv(t)
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
t.Run("Links", func(t *testing.T) {
rctx := NewRenderContextRepoFile(context.Background(), repo1, RepoFileOptions{
CurrentRefPath: "/commit/1234",
CurrentTreePath: "my-dir",
}).WithRelativePath("my-dir/a.org")
rendered, err := markup.RenderString(rctx, `
[[https://google.com/]]
[[ImageLink.svg][The Image Desc]]
`)
assert.NoError(t, err)
assert.Equal(t, `<p>
<a href="https://google.com/" rel="nofollow">https://google.com/</a>
<a href="/user2/repo1/media/commit/1234/my-dir/ImageLink.svg" rel="nofollow">The Image Desc</a></p>
`, rendered)
})
t.Run("CodeHighlight", func(t *testing.T) {
rctx := NewRenderContextRepoFile(context.Background(), repo1, RepoFileOptions{}).WithRelativePath("my-dir/a.org")
rendered, err := markup.RenderString(rctx, `
#+begin_src c
int a = 1;
#+end_src
`)
assert.NoError(t, err)
assert.Equal(t, `<div>
<pre><code class="chroma language-c"><span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span></code></pre>
</div>
`, rendered)
})
}