Enha: clean text before sending to tts

This commit is contained in:
Grail Finder
2026-01-10 10:16:10 +03:00
parent 505477b8e3
commit 8474b87c43
2 changed files with 95 additions and 13 deletions

40
extra/tts_test.go Normal file
View File

@@ -0,0 +1,40 @@
//go:build extra
// +build extra
package extra
import (
"testing"
)
func TestCleanText(t *testing.T) {
tests := []struct {
input string
expected string
}{
{"Hello world", "Hello world"},
{"**Bold text**", "Bold text"},
{"*Italic text*", "Italic text"},
{"# Header", "Header"},
{"_Underlined text_", "Underlined text"},
{"~Strikethrough text~", "Strikethrough text"},
{"`Code text`", "Code text"},
{"[Link text](url)", "Link text(url)"},
{"Mixed *markdown* and #headers#!", "Mixed markdown and headers"},
{"<html>tags</html>", "tags"},
{"|---|", ""}, // Table separator
{"|====|", ""}, // Table separator with equals
{"| - - - |", ""}, // Table separator with spaced dashes
{"| cell1 | cell2 |", "cell1 cell2"}, // Table row with content
{" Trailing spaces ", "Trailing spaces"},
{"", ""},
{"***", ""},
}
for _, test := range tests {
result := cleanText(test.input)
if result != test.expected {
t.Errorf("cleanText(%q) = %q; expected %q", test.input, result, test.expected)
}
}
}