mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-29 21:52:52 +00:00
Add CurrentURL template variable back (#37444)
Because some custom template users need it, also add a new test and comments
This commit is contained in:
@@ -163,6 +163,7 @@ func Contexter() func(next http.Handler) http.Handler {
|
||||
base := NewBaseContext(resp, req)
|
||||
ctx := NewWebContext(base, rnd, session.GetContextSession(req))
|
||||
ctx.Data.MergeFrom(middleware.CommonTemplateContextData())
|
||||
ctx.Data["CurrentURL"] = setting.AppSubURL + req.URL.RequestURI()
|
||||
ctx.Data["Link"] = ctx.Link
|
||||
|
||||
// PageData is passed by reference, and it will be rendered to `window.config.pageData` in `head.tmpl` for JavaScript modules
|
||||
|
||||
@@ -10,6 +10,9 @@ import (
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/test"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/tests"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
@@ -21,6 +24,7 @@ func TestView(t *testing.T) {
|
||||
t.Run("CommitListActions", testCommitListActions)
|
||||
t.Run("SecurityHeadersDefaults", testSecurityHeadersDefaults)
|
||||
t.Run("SiteManifest", testSiteManifest)
|
||||
t.Run("CurrentURL", testViewPageCurrentURL)
|
||||
}
|
||||
|
||||
func testRenderFileSVGIsInImgTag(t *testing.T) {
|
||||
@@ -113,3 +117,15 @@ func testSiteManifest(t *testing.T) {
|
||||
)
|
||||
assert.JSONEq(t, expectedJSON, resp.Body.String())
|
||||
}
|
||||
|
||||
func testViewPageCurrentURL(t *testing.T) {
|
||||
defer test.MockVariableValue(&setting.AppSubURL, "/subpath")()
|
||||
var currentURL string
|
||||
web.RouteMock(web.MockAfterMiddlewares, func(ctx *context.Context) {
|
||||
// Some custom template users need this template variable to construct links in their templates
|
||||
currentURL, _ = ctx.Data["CurrentURL"].(string)
|
||||
})
|
||||
defer web.RouteMockReset()
|
||||
MakeRequest(t, NewRequest(t, "GET", "/any-page?k=v"), http.StatusNotFound)
|
||||
assert.Equal(t, "/subpath/any-page?k=v", currentURL)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user