package render import "testing" func TestPanguText(t *testing.T) { cases := map[string]string{ "把MVP搬进仓库": "把 MVP 搬进仓库", "今天写了3个小时代码": "今天写了 3 个小时代码", "使用Go和Vue3开发": "使用 Go 和 Vue3 开发", "纯中文没有混排": "纯中文没有混排", "已经隔了空格的 Go 语言": "已经隔了空格的 Go 语言", "数字100在前": "数字 100 在前", "英文后接标点。followed": "英文后接标点。 followed", } for in, want := range cases { if got := panguText(in); got != want { t.Errorf("panguText(%q) = %q, want %q", in, got, want) } } } func TestPanguHTML(t *testing.T) { cases := map[string]string{ // 普通文本:处理 "
把MVP搬进仓库
": "把 MVP 搬进仓库
", // 行内 code:不动 "运行go build ./...即可
运行go build ./...即可
把MVP搬进仓库\nfmt.Println(1)": "把MVP搬进仓库\nfmt.Println(1)",
// 属性里不是文本:不动(src 含字母数字混合不受影响)
`
`: `
`,
// 嵌套:code 结束后恢复处理
"先跑起来再看结果100%
先跑起来再看结果 100%