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) } }