1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-05 18:17:19 +00:00

Fix markdown frontmatter rendering (#34102)

Fix #34101
This commit is contained in:
wxiaoguang
2025-04-03 13:48:24 +08:00
committed by GitHub
parent f94ee4fd3c
commit ba921fd903
8 changed files with 136 additions and 106 deletions

View File

@ -383,18 +383,74 @@ func TestColorPreview(t *testing.T) {
}
}
func TestTaskList(t *testing.T) {
func TestMarkdownFrontmatter(t *testing.T) {
testcases := []struct {
testcase string
name string
input string
expected string
}{
{
"MapInFrontmatter",
`---
key1: val1
key2: val2
---
test
`,
`<details class="frontmatter-content"><summary><span>octicon-table(12/)</span> key1, key2</summary><table>
<thead>
<tr>
<th>key1</th>
<th>key2</th>
</tr>
</thead>
<tbody>
<tr>
<td>val1</td>
<td>val2</td>
</tr>
</tbody>
</table>
</details><p>test</p>
`,
},
{
"ListInFrontmatter",
`---
- item1
- item2
---
test
`,
`- item1
- item2
<p>test</p>
`,
},
{
"StringInFrontmatter",
`---
anything
---
test
`,
`anything
<p>test</p>
`,
},
{
// data-source-position should take into account YAML frontmatter.
"ListAfterFrontmatter",
`---
foo: bar
---
- [ ] task 1`,
`<details><summary><i class="icon table"></i></summary><table>
`<details class="frontmatter-content"><summary><span>octicon-table(12/)</span> foo</summary><table>
<thead>
<tr>
<th>foo</th>
@ -414,9 +470,9 @@ foo: bar
}
for _, test := range testcases {
res, err := markdown.RenderString(markup.NewTestRenderContext(), test.testcase)
assert.NoError(t, err, "Unexpected error in testcase: %q", test.testcase)
assert.Equal(t, template.HTML(test.expected), res, "Unexpected result in testcase %q", test.testcase)
res, err := markdown.RenderString(markup.NewTestRenderContext(), test.input)
assert.NoError(t, err, "Unexpected error in testcase: %q", test.name)
assert.Equal(t, test.expected, string(res), "Unexpected result in testcase %q", test.name)
}
}