diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-24 15:25:50 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-24 15:25:50 +0200 |
| commit | ed7717fef53db3b3aa5593fbb2649313e75a0f31 (patch) | |
| tree | 023601285808a4704f5646bf6e4777beea6dd93a /internal/cli/cli_test.go | |
| parent | 1e4939874a14d8abb13e82b2273bfc5f9d653295 (diff) | |
| download | lectio-ed7717fef53db3b3aa5593fbb2649313e75a0f31.tar.gz lectio-ed7717fef53db3b3aa5593fbb2649313e75a0f31.zip | |
cli: --rand/--rand-v (random verse) + --rand-ch (random chapter) from the corpus, using the config default version; v0.16.0
Diffstat (limited to 'internal/cli/cli_test.go')
| -rw-r--r-- | internal/cli/cli_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index 374d723..58b2d00 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -353,6 +353,35 @@ func TestRefCompare(t *testing.T) { } } +func TestRandVerse(t *testing.T) { + // Random content varies, but structure/exit codes are deterministic. + var out, errb bytes.Buffer + if code := Run([]string{"--rand-v", "-b", "vul"}, nil, &out, &errb); code != 0 { + t.Fatalf("rand-v code=%d stderr=%q", code, errb.String()) + } + // en dialect (default config): the reference line carries a colon. + if s := out.String(); strings.TrimSpace(s) == "" || !strings.Contains(s, ":") { + t.Errorf("rand-v output = %q", s) + } +} + +func TestRandChapter(t *testing.T) { + var out, errb bytes.Buffer + if code := Run([]string{"--rand-ch", "-b", "wuj"}, nil, &out, &errb); code != 0 { + t.Fatalf("rand-ch code=%d stderr=%q", code, errb.String()) + } + if strings.TrimSpace(out.String()) == "" { + t.Errorf("rand-ch produced no output") + } +} + +func TestRandRejectsBT(t *testing.T) { + var out, errb bytes.Buffer + if code := Run([]string{"--rand-v", "-b", "bt"}, nil, &out, &errb); code != 2 { + t.Errorf("rand -b bt code=%d want 2 (stderr=%q)", code, errb.String()) + } +} + func TestGospelCitationHelpers(t *testing.T) { secs := []liturgy.Section{ {Heading: "1. czytanie (Iz 1, 1)", PartID: "pierwsze_czytanie"}, |
