test: consolidate Go tests (#39962)

Consolidate all Go tests. Coverage is identical to before. Go tests are
around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-24 13:48:19 +00:00
1 parent ce7364e215
commit 8abda62312
388 files changed
+18410 -29561

No files matched your search

+22 -59
View File
@@ -34,12 +34,14 @@ func TestFile(t *testing.T) {
name string
code string
want []template.HTML
plainWant []template.HTML
lexerName string
}{
{
name: "empty.py",
code: "",
want: lines(""),
plainWant: lines(""),
lexerName: "Python",
},
{
@@ -64,18 +66,21 @@ func TestFile(t *testing.T) {
name: "tags.py",
code: "<>",
want: lines(`<span class="o">&lt;&gt;</span>`),
plainWant: lines("&lt;&gt;"),
lexerName: "Python",
},
{
name: "eol-no.py",
code: "a=1",
want: lines(`<span class="n">a</span><span class="o">=</span><span class="mi">1</span>`),
plainWant: lines(`a=1`),
lexerName: "Python",
},
{
name: "eol-newline1.py",
code: "a=1\n",
want: lines(`<span class="n">a</span><span class="o">=</span><span class="mi">1</span>\n`),
plainWant: lines(`a=1\n`),
lexerName: "Python",
},
{
@@ -86,6 +91,10 @@ func TestFile(t *testing.T) {
\n
`,
),
plainWant: lines(`
a=1\n
\n
`),
lexerName: "Python",
},
{
@@ -106,6 +115,13 @@ c=2
\n
<span class="n">c</span><span class="o">=</span><span class="mi">2</span>`,
),
plainWant: lines(`
def:\n
a=1\n
\n
b=&#39;&#39;\n
\n
c=2`),
lexerName: "Python",
},
{
@@ -135,67 +151,14 @@ Content-Type: text/html
assert.Equal(t, tt.lexerName, lexerName)
})
}
}
func TestPlainText(t *testing.T) {
tests := []struct {
name string
code string
want []template.HTML
}{
{
name: "empty.py",
code: "",
want: lines(""),
},
{
name: "tags.py",
code: "<>",
want: lines("&lt;&gt;"),
},
{
name: "eol-no.py",
code: "a=1",
want: lines(`a=1`),
},
{
name: "eol-newline1.py",
code: "a=1\n",
want: lines(`a=1\n`),
},
{
name: "eol-newline2.py",
code: "a=1\n\n",
want: lines(`
a=1\n
\n
`),
},
{
name: "empty-line-with-space.py",
code: strings.ReplaceAll(strings.TrimSpace(`
def:
a=1
b=''
{space}
c=2
`), "{space}", " "),
want: lines(`
def:\n
a=1\n
\n
b=&#39;&#39;\n
\n
c=2`),
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
out := renderPlainText([]byte(tt.code))
assert.Equal(t, tt.want, out)
})
if tt.plainWant != nil {
t.Run("plaintext/"+tt.name, func(t *testing.T) {
out := renderPlainText([]byte(tt.code))
assert.Equal(t, tt.plainWant, out)
})
}
}
}