diff options
Diffstat (limited to 'internal/render/render_test.go')
| -rw-r--r-- | internal/render/render_test.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/internal/render/render_test.go b/internal/render/render_test.go new file mode 100644 index 0000000..87f9ed2 --- /dev/null +++ b/internal/render/render_test.go @@ -0,0 +1,53 @@ +package render + +import ( + "strings" + "testing" + + "github.com/lukaszkasprzak/lectio/internal/liturgy" +) + +func TestGatherPLDedup(t *testing.T) { + sec := liturgy.Section{ + Heading: "Psalm (Ps 1)", + Paragraphs: [][]string{{"stanza one"}, {"refrain"}, {"stanza two"}, {"refrain"}}, + } + _, blocks := GatherVersion("pl", sec, "new") + n := 0 + for _, b := range blocks { + if b == "refrain" { + n++ + } + } + if n != 1 { + t.Errorf("refrain appears %d times, want 1 (deduped)", n) + } +} + +func TestGatherBible(t *testing.T) { + sec := liturgy.Section{Heading: "Ewangelia (J 20, 1. 11-18)"} + label, blocks := GatherVersion("wuj", sec, "new") + if !strings.Contains(label, "Wujek") { + t.Errorf("label = %q", label) + } + if len(blocks) == 0 || !strings.HasPrefix(blocks[0], "20:1") { + t.Errorf("first block = %q", blocks) + } +} + +func TestGatherTraditional(t *testing.T) { + sec := liturgy.Section{Citation: "Luke 7:36-50"} + _, blocks := GatherVersion("vul", sec, "traditional") + if len(blocks) == 0 || !strings.HasPrefix(blocks[0], "7:36") { + t.Errorf("first block = %q", blocks) + } +} + +func TestOfflineVersions(t *testing.T) { + got := OfflineVersions([]string{"pl", "wuj", "vul"}) + for _, v := range got { + if v == "pl" { + t.Error("pl not dropped offline") + } + } +} |
