add format test

This commit is contained in:
Владимир Фёдоров 2026-03-02 03:15:36 +07:00
parent 1c63cc1747
commit c3e5654ab4
2 changed files with 44 additions and 0 deletions

View File

@ -24,6 +24,9 @@ func (s *service) FormatText(text string) string {
var res strings.Builder
for i, line := range lines {
l := strings.TrimSpace(line)
if strings.HasPrefix(l, "--") {
l = strings.Replace(l, "--", "—", 1)
}
if i == 0 && strings.HasPrefix(l, "—") {
res.WriteString(" ")
}

View File

@ -0,0 +1,41 @@
package formatter
import "testing"
func Test_service_FormatText(t *testing.T) {
tests := []struct {
name string
text string
want string
}{
{
name: "Простой текст",
text: "Привет",
want: "Привет",
},
{
name: "Текст с двумя абзацами",
text: "Привет\nМир",
want: "Привет\n Мир",
},
{
name: "Прямая речь",
text: "— Привет",
want: " — Привет",
},
{
name: "Прямая речь через 2 минуса",
text: "-- Привет",
want: " — Привет",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
var s service
got := s.FormatText(tt.text)
if got != tt.want {
t.Errorf("FormatText() = %v, want %v", got, tt.want)
}
})
}
}