summaryrefslogtreecommitdiff
path: root/extra/tts_test.go
blob: a21d9b856671b5b9a50a430a32cf1f116038e1e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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)
		}
	}
}