summaryrefslogtreecommitdiff
path: root/internal/cli/cli_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-23 22:08:56 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-23 22:08:56 +0200
commit390f8cb146c69d8d3a0e6e0d76ea3546f30a7611 (patch)
tree99510b1fe2d80bfc1ab26473a53def3318bed256 /internal/cli/cli_test.go
parent4c776396115c8120c3e1cb8fda993449fcdcd326 (diff)
downloadlectio-390f8cb146c69d8d3a0e6e0d76ea3546f30a7611.tar.gz
lectio-390f8cb146c69d8d3a0e6e0d76ea3546f30a7611.zip
i18n: fix consistency-review gaps in ui_language (en/pl chrome)
Closes six findings from review of the ui_language feature so English mode carries no leftover Polish UI text: - Web: interlinear "no verses" note and the empty-day error fragment now route through i18n instead of being unconditionally Polish. - render.GatherVersion/GatherVerses/resolveRef's four lookup/citation- failure blocks are now lang-aware (resolveRef gained a lang param). - i18n.ErrorPrefix/NoReadingsFor lost a stray extra trailing space, restoring the pre-i18n single-space TUI concatenation. - render.LocalizeHeading now matches a heading's actual leading label text against all known modern pl labels, rather than trusting the label keyed by sec.PartID -- fixes split-feast days where PartID is "drugie_czytanie" but the heading still reads "1. czytanie ...". - cli bannerFor is lang-specific again (pl "na", en "for"), restoring pl's exact pre-i18n wording instead of "--" for both languages. - index.html's <html lang> now follows cfg.UILanguage instead of being hardcoded "pl". gofmt/vet clean, go test ./... green, all three binaries build, no new go.mod deps. Consistency grep across cli/tui/web/render's live source turns up only two non-displayed identifiers (a PartID slug list and a pre-existing incipit-stripping constant on the pl scripture text itself).
Diffstat (limited to 'internal/cli/cli_test.go')
-rw-r--r--internal/cli/cli_test.go21
1 files changed, 21 insertions, 0 deletions
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) {