From 643d01c388eece9f3a00d2db16cb421f5483b229 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 27 Jul 2026 20:10:44 +0200 Subject: feat(bible): user corpus discovery + override registry --- internal/bible/registry_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 internal/bible/registry_test.go (limited to 'internal/bible/registry_test.go') diff --git a/internal/bible/registry_test.go b/internal/bible/registry_test.go new file mode 100644 index 0000000..0e9aab2 --- /dev/null +++ b/internal/bible/registry_test.go @@ -0,0 +1,35 @@ +package bible + +import ( + "os" + "path/filepath" + "testing" +) + +func TestUserCorpusOverride(t *testing.T) { + dir := t.TempDir() + os.WriteFile(filepath.Join(dir, "drb.tsv"), []byte("Genesis\tGn\t1\t1\t1\tUSER TEXT\n"), 0o644) + os.WriteFile(filepath.Join(dir, "drb.ini"), []byte("lang = en\nname = User DRB\npsalm_system = drb\n"), 0o644) + SetUserCorporaDir(dir) + t.Cleanup(func() { SetUserCorporaDir("") }) + + if got := Verses("drb", "Genesis", 1); len(got) == 0 || got[0].Text != "USER TEXT" { + t.Fatalf("user drb.tsv did not override embed: %+v", got) + } + m, _ := Meta("drb") + if m.Name != "User DRB" { + t.Fatalf("user sidecar not used: %+v", m) + } +} + +func TestUserCorpusNewCode(t *testing.T) { + dir := t.TempDir() + os.WriteFile(filepath.Join(dir, "fr-x.tsv"), []byte("Genesis\tGn\t1\t1\t1\tAu commencement\n"), 0o644) + os.WriteFile(filepath.Join(dir, "fr-x.ini"), []byte("lang = fr\nname = Test FR\npsalm_system = vulgate\n"), 0o644) + SetUserCorporaDir(dir) + t.Cleanup(func() { SetUserCorporaDir("") }) + + if l := CorporaForLang("fr"); len(l) != 1 || l[0].Code != "fr-x" { + t.Fatalf("new fr corpus not registered: %+v", l) + } +} -- cgit v1.3