aboutsummaryrefslogtreecommitdiff
path: root/internal/bible/registry_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 20:10:44 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 20:10:44 +0200
commit643d01c388eece9f3a00d2db16cb421f5483b229 (patch)
treeaba6cbd5abf75d4aa6f8fce465ad31c4259cda0a /internal/bible/registry_test.go
parent91b54ab94a0e227eeaf093d34ec2bf2a07978b55 (diff)
downloadlectio-643d01c388eece9f3a00d2db16cb421f5483b229.tar.gz
lectio-643d01c388eece9f3a00d2db16cb421f5483b229.zip
feat(bible): user corpus discovery + override registry
Diffstat (limited to 'internal/bible/registry_test.go')
-rw-r--r--internal/bible/registry_test.go35
1 files changed, 35 insertions, 0 deletions
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)
+ }
+}