aboutsummaryrefslogtreecommitdiff
path: root/internal/cli
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli')
-rw-r--r--internal/cli/cli.go12
-rw-r--r--internal/cli/cli_test.go21
2 files changed, 28 insertions, 5 deletions
diff --git a/internal/cli/cli.go b/internal/cli/cli.go
index b660878..a13f2f1 100644
--- a/internal/cli/cli.go
+++ b/internal/cli/cli.go
@@ -289,17 +289,19 @@ func fetchAndPrint(cfg config.Config, version, date string, all, raw bool, width
return 0
}
-// bannerFor builds the "<Gospel|Readings> — DATE" banner: the "readings"
-// word when every part is shown, "gospel" for the gospel-only default, both
-// localised via i18n.Get(lang) (lang="pl" reproduces ewangelia.py's original
-// Polish wording, just with "—" in place of "na").
+// bannerFor builds the "<Gospel|Readings> <connective> DATE" banner: the
+// "readings" word when every part is shown, "gospel" for the gospel-only
+// default, and the connective between word and date, all localised via
+// i18n.Get(lang) -- lang="pl" reproduces ewangelia.py's original Polish
+// wording exactly ("Ewangelia na DATE" / "Czytania na DATE"); lang="en"
+// gives "Gospel for DATE" / "Readings for DATE".
func bannerFor(lang string, all bool, date string) string {
ui := i18n.Get(lang)
word := ui.BannerGospel
if all {
word = ui.BannerReadings
}
- return word + " — " + date
+ return word + " " + ui.BannerConnective + " " + date
}
// renderSection formats one section as its heading (unless raw) followed by
diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go
index de9220a..d0c8791 100644
--- a/internal/cli/cli_test.go
+++ b/internal/cli/cli_test.go
@@ -105,6 +105,27 @@ func TestLangBogus(t *testing.T) {
}
}
+// TestBannerForLang checks bannerFor's wording follows lang: pl reproduces
+// the pre-i18n Polish banner exactly ("Ewangelia na D" / "Czytania na D"),
+// en gives "Gospel for D" / "Readings for D".
+func TestBannerForLang(t *testing.T) {
+ cases := []struct {
+ lang string
+ all bool
+ want string
+ }{
+ {"pl", false, "Ewangelia na 2026-07-22"},
+ {"pl", true, "Czytania na 2026-07-22"},
+ {"en", false, "Gospel for 2026-07-22"},
+ {"en", true, "Readings for 2026-07-22"},
+ }
+ for _, c := range cases {
+ if got := bannerFor(c.lang, c.all, "2026-07-22"); got != c.want {
+ t.Errorf("bannerFor(%q, %v, ...) = %q, want %q", c.lang, c.all, got, c.want)
+ }
+ }
+}
+
// TestDateTokenAnyPosition exercises extractDate directly: the date token
// is found regardless of where it appears among other flags.
func TestDateTokenAnyPosition(t *testing.T) {