diff options
Diffstat (limited to 'internal/comic/comic_test.go')
| -rw-r--r-- | internal/comic/comic_test.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/internal/comic/comic_test.go b/internal/comic/comic_test.go index 0acccb0..a4c50f2 100644 --- a/internal/comic/comic_test.go +++ b/internal/comic/comic_test.go @@ -59,7 +59,7 @@ func TestBuildPanelLayoutUsesFallbackExcerpt(t *testing.T) { func TestSplitIntoSectionsUsesRuneBoundaries(t *testing.T) { t.Parallel() - text := strings.Repeat("Български текст за проверка на разделянето. ", 80) + text := strings.Repeat("a", 99) + "б" + strings.Repeat("c", 300) sections := splitIntoSections(text, 4) if len(sections) != 4 { t.Fatalf("splitIntoSections() sections = %d, want 4", len(sections)) @@ -69,12 +69,15 @@ func TestSplitIntoSectionsUsesRuneBoundaries(t *testing.T) { t.Fatalf("splitIntoSections() section %d is not valid UTF-8: %q", i, section) } } + if !strings.Contains(sections[0], "б") { + t.Fatalf("splitIntoSections() first section = %q, want mixed-width rune preserved", sections[0]) + } } func TestBuildPanelLayoutTruncatesCyrillicOnRuneBoundaries(t *testing.T) { t.Parallel() - text := strings.Repeat("абвгдежзийклмно", 70) + text := strings.Repeat("a", 899) + "б" + strings.Repeat("c", 100) got := buildPanelLayout(text, nil, 2) if !utf8.ValidString(got) { t.Fatalf("buildPanelLayout() returned invalid UTF-8: %q", got) @@ -82,6 +85,9 @@ func TestBuildPanelLayoutTruncatesCyrillicOnRuneBoundaries(t *testing.T) { if !strings.Contains(got, "…") { t.Fatalf("buildPanelLayout() = %q, want truncation ellipsis", got) } + if !strings.Contains(got, "б") { + t.Fatalf("buildPanelLayout() = %q, want mixed-width rune preserved", got) + } } func TestParseGenerateResultUsesConfiguredDimensions(t *testing.T) { |
