summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/comic/comic_test.go10
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) {