Merge pull request '[v7.0/forgejo] [BUG] Render references to cross-repo issues with external issues' (#4863) from bp-v7.0/forgejo-05e163a into v7.0/forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4863
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
Earl Warren 2024-08-07 06:24:39 +00:00
commit 875f123671
2 changed files with 17 additions and 1 deletions

View file

@ -880,7 +880,7 @@ func issueIndexPatternProcessor(ctx *RenderContext, node *html.Node) {
var link *html.Node
reftext := node.Data[ref.RefLocation.Start:ref.RefLocation.End]
if hasExtTrackFormat && !ref.IsPull {
if hasExtTrackFormat && !ref.IsPull && ref.Owner == "" {
ctx.Metas["index"] = ref.Issue
res, err := vars.Expand(ctx.Metas["format"], ctx.Metas)

View file

@ -342,6 +342,22 @@ func TestRender_AutoLink(t *testing.T) {
test(tmp, "<a href=\""+tmp+"\" class=\"commit\"><code class=\"nohighlight\">d8a994ef24 (diff-2)</code></a>")
}
func TestRender_IssueIndexPatternRef(t *testing.T) {
setting.AppURL = TestAppURL
test := func(input, expected string) {
var buf strings.Builder
err := postProcess(&RenderContext{
Ctx: git.DefaultContext,
Metas: numericMetas,
}, []processor{issueIndexPatternProcessor}, strings.NewReader(input), &buf)
require.NoError(t, err)
assert.Equal(t, expected, buf.String(), "input=%q", input)
}
test("alan-turin/Enigma-cryptanalysis#1", `<a href="/alan-turin/enigma-cryptanalysis/issues/1" class="ref-issue">alan-turin/Enigma-cryptanalysis#1</a>`)
}
func TestRender_FullIssueURLs(t *testing.T) {
setting.AppURL = TestAppURL