mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-08 14:03:24 +09:00
refactor: render highlight language (#38793)
Avoid CSS injection More details are in the comment of CodeBlockAttributes
This commit is contained in:
@@ -216,3 +216,19 @@ func TestUnsafeSplitHighlightedLines(t *testing.T) {
|
||||
assert.Equal(t, "<span>a</span>\n", string(ret[0]))
|
||||
assert.Equal(t, "<span>b\n</span>", string(ret[1]))
|
||||
}
|
||||
|
||||
func TestCodeBlockAttributes(t *testing.T) {
|
||||
test := func(t *testing.T, lang string, css, attr template.HTML) {
|
||||
t.Helper()
|
||||
cssActual, attrActual := CodeBlockAttributes(lang)
|
||||
assert.Equal(t, css, cssActual)
|
||||
assert.Equal(t, attr, attrActual)
|
||||
}
|
||||
for _, s := range []string{"", "FALLback", "plainTEXT"} {
|
||||
test(t, s, `class="code-block"`, `class="chroma language-text" data-code-language="text"`)
|
||||
}
|
||||
test(t, "math", `class="code-block is-loading"`, `class="chroma language-math" data-code-language="math"`)
|
||||
test(t, "mermaid", `class="code-block is-loading"`, `class="chroma language-mermaid" data-code-language="mermaid"`)
|
||||
test(t, "Visual Basic.NET", `class="code-block"`, `class="chroma language-visual_basic_net" data-code-language="Visual Basic.NET"`)
|
||||
test(t, "c++-x", `class="code-block"`, `class="chroma language-c___x" data-code-language="c++-x"`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user