mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-08-19 22:22:21 +02:00
None of the features of `unrolled/render` package is used. The Golang builtin "html/template" just works well. Then we can improve our HTML render to resolve the "$.root.locale.Tr" problem as much as possible. Next step: we can have a template render pool (by Clone), then we can inject global functions with dynamic context to every `Execute` calls. Then we can use `{{Locale.Tr ....}}` directly in all templates , no need to pass the `$.root.locale` again and again.
41 lines
1,016 B
Go
41 lines
1,016 B
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package integration
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"net/http"
|
|
"strings"
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
"code.gitea.io/gitea/tests"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestExternalMarkupRenderer(t *testing.T) {
|
|
defer tests.PrepareTestEnv(t)()
|
|
if !setting.Database.Type.IsSQLite3() {
|
|
t.Skip()
|
|
return
|
|
}
|
|
|
|
const repoURL = "user30/renderer"
|
|
req := NewRequest(t, "GET", repoURL+"/src/branch/master/README.html")
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
|
assert.EqualValues(t, "text/html; charset=utf-8", resp.Header()["Content-Type"][0])
|
|
|
|
bs, err := io.ReadAll(resp.Body)
|
|
assert.NoError(t, err)
|
|
|
|
doc := NewHTMLParser(t, bytes.NewBuffer(bs))
|
|
div := doc.Find("div.file-view")
|
|
data, err := div.Html()
|
|
assert.NoError(t, err)
|
|
assert.EqualValues(t, "<div>\n\ttest external renderer\n</div>", strings.TrimSpace(data))
|
|
}
|