summaryrefslogtreecommitdiff
path: root/internal/tradlit/parse_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 12:50:31 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 12:50:31 +0200
commit7b220084cf3951c8cde0582efdfcf628afc64336 (patch)
treee74bae03c61b62479ef4f68b046e3345618933c8 /internal/tradlit/parse_test.go
parentfeede51697be870ae183a95b513ef64f031dbd0f (diff)
downloadlectio-7b220084cf3951c8cde0582efdfcf628afc64336.tar.gz
lectio-7b220084cf3951c8cde0582efdfcf628afc64336.zip
refactor: remove the niedziela/missalemeum scrapers, bt, traditional_lang
The daily view now computes entirely offline (previous commit), so retire the network path and everything that served it: - Delete internal/tradlit (missalemeum) and the niedziela scraper from internal/liturgy (fetch/store/parse + fixtures); keep Section, DayInfo and ExtractCitation. - Remove the "bt" version everywhere (render gatherBT + branches, config, i18n, web form, TUI) and bible.ToEnglishRef (Polish citation converter). A legacy config carrying "bt" migrates to "wuj" on load (config.migrateBT). - Remove the traditional_lang config field and the -g/--lang flag from all three binaries. - Drop the now-dead flags -R/--refresh, -o/--offline, -u/--update, -C/--clean and the harvest/clean commands. - New defaults: versions = wuj,vul,grb,drb; default_version = vul. Update the README (offline-by-design, no harvest/update), help text, and stale niedziela/bt doc comments. Tests updated for the offline reality; go test ./... and go vet ./... are clean, all three binaries build and run offline (OF + EF, compare, web).
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")
- }
-}