This commit is contained in:
2026-09-17 13:04:44 +07:00
parent e3cbf18220
commit 5ba640bfe4
12 changed files with 19 additions and 60 deletions
@@ -1,7 +0,0 @@
package formatter_utils
// IFormatter — форматирование текста сценария для отображения.
type IFormatter interface {
FormatText(text string) string
FormatString(text string) string
}
+2 -9
View File
@@ -5,16 +5,9 @@ import (
"strings"
)
type formatter struct{}
// NewFormatter создаёт реализацию IFormatter.
func NewFormatter() IFormatter {
return &formatter{}
}
// FormatText форматирует многострочный текст: обрезает пробелы по краям
// строк, превращает "--" в тире и добавляет отступ абзаца.
func (f *formatter) FormatText(text string) string {
func FormatText(text string) string {
scanner := bufio.NewScanner(strings.NewReader(text))
scanner.Split(bufio.ScanLines)
@@ -46,7 +39,7 @@ func (f *formatter) FormatText(text string) string {
// FormatString форматирует одиночную строку: обрезает пробелы и заменяет
// "--" на тире.
func (f *formatter) FormatString(text string) string {
func FormatString(text string) string {
l := strings.TrimSpace(text)
if strings.HasPrefix(l, "--") {
l = strings.Replace(l, "--", "—", 1)
@@ -29,10 +29,9 @@ func Test_service_FormatText(t *testing.T) {
want: " — Привет",
},
}
formatter := NewFormatter()
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := formatter.FormatText(tt.text)
got := FormatText(tt.text)
if got != tt.want {
t.Errorf("FormatText() = %v, want %v", got, tt.want)
}