aboutsummaryrefslogtreecommitdiff
path: root/internal/tradlit/parse_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 12:52:13 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 12:52:13 +0200
commit44472bbe31475a3c672ae003d928d7caffb4b50a (patch)
treee74bae03c61b62479ef4f68b046e3345618933c8 /internal/tradlit/parse_test.go
parent626f2275438a37e5cd2efb5964281b9bef5ce8cc (diff)
parent7b220084cf3951c8cde0582efdfcf628afc64336 (diff)
downloadlectio-44472bbe31475a3c672ae003d928d7caffb4b50a.tar.gz
lectio-44472bbe31475a3c672ae003d928d7caffb4b50a.zip
Merge branch 'of-offline-migration': offline daily view, remove scrapers
Diffstat (limited to 'internal/tradlit/parse_test.go')
-rw-r--r--internal/tradlit/parse_test.go86
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")
- }
-}