mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 06:03:51 +03:00
[BUG] Render references to cross-repo issues with external issues
- If you have the external issue setting enabled, any reference would have been rendered as an external issue, however this shouldn't be happening to references that refer to issues in other repositories. - Unit test added.
This commit is contained in:
parent
3bf87d157e
commit
05e163aaf3
2 changed files with 17 additions and 1 deletions
|
@ -867,7 +867,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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue