aboutsummaryrefslogtreecommitdiff
path: root/internal/calfeed/build_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/calfeed/build_test.go')
-rw-r--r--internal/calfeed/build_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/internal/calfeed/build_test.go b/internal/calfeed/build_test.go
new file mode 100644
index 0000000..333a51b
--- /dev/null
+++ b/internal/calfeed/build_test.go
@@ -0,0 +1,46 @@
+package calfeed
+
+import (
+ "testing"
+ "time"
+
+ "github.com/lukaszkasprzak/lectio/internal/caldata"
+ "github.com/lukaszkasprzak/lectio/internal/calendar"
+)
+
+func TestBuildThreeDayRange(t *testing.T) {
+ sel := calendar.DefaultSelection()
+ sel.Form = "old"
+ layers := []calendar.Layer{caldata.Tridentine()}
+
+ from := time.Date(2026, 1, 5, 0, 0, 0, 0, time.UTC)
+ to := time.Date(2026, 1, 7, 0, 0, 0, 0, time.UTC)
+ days := Build(from, to, "en", sel, layers, func(date time.Time, day calendar.LiturgicalDay) []calendar.Reading {
+ return caldata.Readings(sel, layers, date, day)
+ })
+
+ if len(days) != 3 {
+ t.Fatalf("len(days) = %d, want 3", len(days))
+ }
+
+ wantDates := []string{"2026-01-05", "2026-01-06", "2026-01-07"}
+ seenWeekday := false
+ feastFound := false
+ for i, d := range days {
+ if d.Date != wantDates[i] {
+ t.Errorf("day %d: date = %q, want %q", i, d.Date, wantDates[i])
+ }
+ if d.Weekday != "" {
+ seenWeekday = true
+ }
+ if d.Date == "2026-01-06" && d.Observed.Name != "" {
+ feastFound = true
+ }
+ }
+ if !seenWeekday {
+ t.Errorf("expected weekday strings to be set: %+v", days)
+ }
+ if !feastFound {
+ t.Errorf("expected Epiphany (2026-01-06) to have a non-empty Observed.Name: %+v", days)
+ }
+}