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