diff options
Diffstat (limited to 'internal/tradlit/parse_test.go')
| -rw-r--r-- | internal/tradlit/parse_test.go | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/internal/tradlit/parse_test.go b/internal/tradlit/parse_test.go deleted file mode 100644 index 58cc66f..0000000 --- a/internal/tradlit/parse_test.go +++ /dev/null @@ -1,86 +0,0 @@ -package tradlit - -import ( - "os" - "strings" - "testing" - - "github.com/lukaszkasprzak/lectio/internal/liturgy" -) - -func TestParse(t *testing.T) { - body, err := os.ReadFile("testdata/2026-07-22.json") - if err != nil { - t.Fatal(err) - } - secs, _, err := Parse(body) - if err != nil { - t.Fatal(err) - } - var gospel, epistle bool - for _, s := range secs { - if s.PartID == "evangelium" { - gospel = true - if s.Citation != "Luke 7:36-50" { - t.Errorf("gospel citation = %q", s.Citation) - } - if len(s.Paragraphs) == 0 { - t.Error("gospel has no vernacular text") - } - } - if s.PartID == "lectio" { - epistle = true - } - } - if !gospel || !epistle { - t.Errorf("missing parts: gospel=%v epistle=%v", gospel, epistle) - } -} - -// TestParseDayInfo checks the traditional (missalemeum) day-info -// extraction against the fixture's "info" object: Name from info.title, -// Season from info.tempora, Colour from info.colors[0] ("w" -> "white"). -func TestParseDayInfo(t *testing.T) { - body, err := os.ReadFile("testdata/2026-07-22.json") - if err != nil { - t.Fatal(err) - } - _, info, err := Parse(body) - if err != nil { - t.Fatal(err) - } - if info.Name != "St. Mary Magdalene" { - t.Errorf("Name = %q, want %q", info.Name, "St. Mary Magdalene") - } - if !strings.Contains(info.Season, "Pentecost") { - t.Errorf("Season = %q, want it to contain %q", info.Season, "Pentecost") - } - if info.Colour != "white" { - t.Errorf("Colour = %q, want %q", info.Colour, "white") - } -} - -// TestParseDayInfoMissingInfo checks that a response with no (or empty) -// info object yields a zero DayInfo rather than an error. -func TestParseDayInfoMissingInfo(t *testing.T) { - _, info, err := Parse([]byte(`[{"sections":[]}]`)) - if err != nil { - t.Fatal(err) - } - if info != (liturgy.DayInfo{}) { - t.Errorf("info = %+v, want zero value for a response with no info object", info) - } -} - -// TestParseDayInfoUnknownColourCode checks an unrecognised colour code maps -// to "" rather than passing the raw code through. -func TestParseDayInfoUnknownColourCode(t *testing.T) { - body := []byte(`[{"info":{"title":"Test","tempora":"","colors":["z"]},"sections":[]}]`) - _, info, err := Parse(body) - if err != nil { - t.Fatal(err) - } - if info.Colour != "" { - t.Errorf("Colour = %q, want empty for unknown code %q", info.Colour, "z") - } -} |
