diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/comic/comic_test.go | 25 | ||||
| -rw-r--r-- | internal/comic/generator.go | 5 |
2 files changed, 28 insertions, 2 deletions
diff --git a/internal/comic/comic_test.go b/internal/comic/comic_test.go index be4ae6c..020fba5 100644 --- a/internal/comic/comic_test.go +++ b/internal/comic/comic_test.go @@ -111,6 +111,31 @@ func TestPanelLabelSupportsMultiLetterSequence(t *testing.T) { } } +func TestValidateGeneratedResultUsesExcelStylePanelLabels(t *testing.T) { + t.Parallel() + + page := make([]string, 27) + for i := range page { + page[i] = "а" + } + page[26] = "latin" + + err := validateGeneratedResult(GenerateResult{ + StoryText: "история", + Bible: "библия", + Title: "Заглавие", + PanelScript: [][]string{ + page, + }, + }, "Cyrillic") + if err == nil { + t.Fatal("validateGeneratedResult() error = nil, want panel label failure") + } + if !strings.Contains(err.Error(), "panel script P1-AA") { + t.Fatalf("validateGeneratedResult() error = %v, want Excel-style panel label", err) + } +} + func TestComicOutputDirDoesNotDuplicateComicsSegment(t *testing.T) { t.Parallel() diff --git a/internal/comic/generator.go b/internal/comic/generator.go index 8a13c0d..644acf6 100644 --- a/internal/comic/generator.go +++ b/internal/comic/generator.go @@ -192,10 +192,11 @@ func validateGeneratedResult(result GenerateResult, script string) error { } for pageIdx, page := range result.PanelScript { for panelIdx, panel := range page { - if err := validateTextScript(fmt.Sprintf("panel script P%d-%c", pageIdx+1, 'A'+panelIdx), panel, script); err != nil { + label := fmt.Sprintf("panel script P%d-%s", pageIdx+1, panelLabel(panelIdx)) + if err := validateTextScript(label, panel, script); err != nil { return fmt.Errorf("%w (panel=%q)", err, compactTextSnippet(panel)) } - if err := validateNoPromptLeakage(fmt.Sprintf("panel script P%d-%c", pageIdx+1, 'A'+panelIdx), panel); err != nil { + if err := validateNoPromptLeakage(label, panel); err != nil { return fmt.Errorf("%w (panel=%q)", err, compactTextSnippet(panel)) } } |
