diff options
Diffstat (limited to 'internal/stylegrid/stylegrid_test.go')
| -rw-r--r-- | internal/stylegrid/stylegrid_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/stylegrid/stylegrid_test.go b/internal/stylegrid/stylegrid_test.go new file mode 100644 index 0000000..1987f85 --- /dev/null +++ b/internal/stylegrid/stylegrid_test.go @@ -0,0 +1,34 @@ +package stylegrid + +import ( + "testing" + + "codeberg.org/snonux/comicforge/internal/config" +) + +func TestBuildJobsDefaultConfig(t *testing.T) { + cfg := config.DefaultConfig() + jobs := BuildJobs(cfg, "test scene") + // 12 families × 2 lines + 3 genres = 27 + if want := 27; len(jobs) != want { + t.Fatalf("len(jobs) = %d, want %d", len(jobs), want) + } + if jobs[0].Kind != "style" || jobs[0].Header == "" || jobs[0].Prompt == "" { + t.Fatalf("first job = %#v", jobs[0]) + } + last := jobs[len(jobs)-1] + if last.Kind != "theme" { + t.Fatalf("last job kind = %q, want theme", last.Kind) + } +} + +func TestBuildJobsSkipsEmptyStrings(t *testing.T) { + cfg := config.DefaultConfig() + cfg.Styles.Comic = []string{"", " ", "only-valid"} + cfg.Story.Genres = nil + jobs := BuildJobs(cfg, "x") + // 1 comic line + 22 from other families + 0 themes + if want := 23; len(jobs) != want { + t.Fatalf("len(jobs) = %d, want %d", len(jobs), want) + } +} |
