summaryrefslogtreecommitdiff
path: root/internal/bible/registry_test.go
blob: 0e9aab234bace328c789e74c1bcea4af5598aead (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)
	}
}