mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-24 19:42:04 +01: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.
(cherry picked from commit 05e163aaf3
)
This commit is contained in:
parent
055261967b
commit
d3260fe348
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