Fix AppFullLink (#37325)
Fix a bug the checkout command line hint becomes `git fetch -u https://gitea.combircni/tea`
This commit is contained in:
@@ -88,7 +88,7 @@ func (c TemplateContext) AppFullLink(link ...string) template.URL {
|
|||||||
if len(link) == 0 {
|
if len(link) == 0 {
|
||||||
return template.URL(s)
|
return template.URL(s)
|
||||||
}
|
}
|
||||||
return template.URL(s + strings.TrimPrefix(link[0], "/"))
|
return template.URL(s + "/" + strings.TrimPrefix(link[0], "/"))
|
||||||
}
|
}
|
||||||
|
|
||||||
var globalVars = sync.OnceValue(func() (ret struct {
|
var globalVars = sync.OnceValue(func() (ret struct {
|
||||||
|
|||||||
@@ -49,3 +49,17 @@ func TestRedirectToCurrentSite(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAppFullLink(t *testing.T) {
|
||||||
|
setting.IsInTesting = true
|
||||||
|
defer test.MockVariableValue(&setting.AppURL, "https://gitea.example.com/sub/")()
|
||||||
|
defer test.MockVariableValue(&setting.AppSubURL, "/sub")()
|
||||||
|
defer test.MockVariableValue(&setting.PublicURLDetection, setting.PublicURLNever)()
|
||||||
|
|
||||||
|
req := httptest.NewRequest(http.MethodGet, "https://gitea.example.com/sub/", nil)
|
||||||
|
tmplCtx := NewTemplateContext(req.Context(), req)
|
||||||
|
|
||||||
|
assert.Equal(t, "https://gitea.example.com/sub", string(tmplCtx.AppFullLink()))
|
||||||
|
assert.Equal(t, "https://gitea.example.com/sub/user/repo", string(tmplCtx.AppFullLink("user/repo")))
|
||||||
|
assert.Equal(t, "https://gitea.example.com/sub/user/repo", string(tmplCtx.AppFullLink("/user/repo")))
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user