aboutsummaryrefslogtreecommitdiff
path: root/test/test_lectionary.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_lectionary.ml')
-rw-r--r--test/test_lectionary.ml96
1 files changed, 58 insertions, 38 deletions
diff --git a/test/test_lectionary.ml b/test/test_lectionary.ml
index 8fcf8e9..e88f103 100644
--- a/test/test_lectionary.ml
+++ b/test/test_lectionary.ml
@@ -84,21 +84,25 @@ let test_ef_data_file_loads () =
(* 119 lectio ini sections, translated/widened/renamed into colitur's
own Temporal_ef vocabulary, PLUS hand-authored/derived entries
(tools/bootstrap_lectionary.ml's own [colitur_keys]/
- [vigil_entries]/[holy_week_entries]/[nativity_octave_entries]/
- [derived_entries] comments have the full account, task 8, branch
- ef-lectionary, fix round 1): "ef-christmas-sunday-0" widens into
- itself PLUS "ef-holy-name-sunday" (+1); the six Passiontide/Lent-
- Ember sections translate/rename 1:1 (no count change: Passiontide
- no longer widens into two colitur keys since fix round 1's
- Critical 1 correction, and the three Lent Ember sections rename
- rather than widen); one hand-authored entry sourced from lectio's
- SANCTORAL calendar, not this lectionary ini ([ef-nativity-vigil],
- +1); four hand-authored directly from the Missal, Holy Week
- (+4); three hand-authored directly from the Missal, the fixed
- Nativity-Octave days (+3); one entry derived from an
- already-translated one rather than re-typed ([ef-holy-name], +1).
- 119 + 1 + 1 + 4 + 3 + 1 = 129. *)
- Alcotest.(check int) "entry count" 129
+ [vigil_entries]/[holy_week_entries]/[passion_tuesday_entry]/
+ [nativity_octave_entries]/[derived_entries] comments have the full
+ account, task 8, branch ef-lectionary, fix rounds 1-2):
+ "ef-christmas-sunday-0" widens into itself PLUS "ef-holy-name-
+ sunday" (+1); the three Lent Ember sections rename 1:1 (no count
+ change); "ef-passiontide-0-tuesday" is EXCLUDED (fix round 2,
+ Important -- it is Holy Tuesday's data, not Passion Tuesday's,
+ -1); the other five Passiontide sections rename 1:1 (no count
+ change); one hand-authored entry sourced from lectio's SANCTORAL
+ calendar, not this lectionary ini ([ef-nativity-vigil], +1); SIX
+ hand-authored directly from the Missal, all of Holy Week (+6,
+ fix round 2 -- Wednesday and Friday added, the first pass's
+ Critical bug); ONE hand-authored directly from the Missal,
+ Passion Tuesday's own real citation (+1, fix round 2); three
+ hand-authored directly from the Missal, the fixed Nativity-Octave
+ days (+3); one entry derived from an already-translated one
+ rather than re-typed ([ef-holy-name], +1).
+ 119 + 1 - 1 + 1 + 6 + 1 + 3 + 1 = 131. *)
+ Alcotest.(check int) "entry count" 131
(List.length (Lectionary.entries l));
(match Lectionary.find l (slug "ef-lent-1-monday") with
| Some [ a; b ] ->
@@ -127,40 +131,56 @@ let test_ef_data_file_loads () =
check_entry "ef-pentecost-ember-sat" "Rom 5:1-5." "Luke 4:38-44.";
(* Critical 2 fix (coordinator review round 1): the Lenten Ember days,
previously dead keys under lectio's own "ef-lent-1-<weekday>"
- naming -- now reachable under colitur's own slugs. *)
+ naming -- now reachable under colitur's own slugs. Minor, fix
+ round 2 (coordinator review): all THREE are pinned, not just
+ Wednesday -- a mutation on Friday's or Saturday's own value used
+ to leave the whole suite green. *)
check_entry "ef-lent-ember-wed" "3 Kgs. 19:3-8" "Matt 12:38-50";
+ check_entry "ef-lent-ember-fri" "Ezech 18:20-28" "John 5:1-15";
+ check_entry "ef-lent-ember-sat" "1 Thess. 5:14-23" "Matt 17:1-9";
(* Passiontide widens into Passion week ONLY now (Critical 1 fix) --
"ef-passiontide-1-monday" keeps lectio's own citation;
"ef-passiontide-2-monday" (Holy Monday) is Missal-sourced,
- DIFFERENT text, hand-authored in [holy_week_entries]. *)
+ DIFFERENT text, hand-authored in [holy_week_entries]. Fix round 2
+ (Important): "ef-passiontide-1-tuesday" no longer carries lectio's
+ own (wrong -- Holy Tuesday's) ini value; it is hand-authored from
+ the Missal's own real Passion Tuesday Mass, [passion_tuesday_entry]. *)
check_entry "ef-passiontide-1-monday" "Jonas 3:1-10" "John 7:32-39";
- check_entry "ef-passiontide-2-monday" "Isai. 50, 5-10" "Io. 12, 1-9";
- check_entry "ef-passiontide-2-tuesday" "Ier. 11, 18-20" "Mark 14, 32-72; 15, 1-46";
- check_entry "ef-passiontide-2-thursday" "1 Cor. 11, 20-32" "Io. 13, 1-15";
- check_entry "ef-passiontide-2-saturday" "Col. 3, 1-4" "Matt. 28, 1-7";
+ check_entry "ef-passiontide-1-tuesday" "Dan 14:27, 28-42" "John 7:1-13";
+ check_entry "ef-passiontide-2-monday" "Isa 50:5-10" "John 12:1-9";
+ (* Gospel punctuation ("15, 1-46") intentionally kept as lectio's own
+ ini already has it -- see bootstrap_lectionary.ml's own
+ [holy_week_entries] comment on this one entry. *)
+ check_entry "ef-passiontide-2-tuesday" "Jer 11:18-20" "Mark 14:32-72; 15, 1-46";
+ (* Critical fix, round 2: Wednesday and Good Friday were left entirely
+ absent by the first pass, which meant step 3 quietly resumed the
+ preceding Sunday's Mass there (Good Friday emitting PALM SUNDAY's
+ Epistle and Passion) -- the FIRST pass's own reasoning ("neither
+ day has a single Epistle") was right about the First slot alone;
+ the Gospel is always unambiguous and is now always authored, and
+ First uses the SAME "last lesson before the Gospel" convention
+ this file's own Lenten Ember Wednesday entry above already uses
+ for an identical two-lesson shape. *)
+ check_entry "ef-passiontide-2-wednesday" "Isa 53:1-12" "Luke 22:39-71; 23:1-53";
+ check_entry "ef-passiontide-2-thursday" "1 Cor 11:20-32" "John 13:1-15";
+ check_entry "ef-passiontide-2-friday" "Ex 12:1-11" "John 18:1-40; 19:1-42";
+ check_entry "ef-passiontide-2-saturday" "Col 3:1-4" "Matt 28:1-7";
(* Important 3(a) fix (coordinator review round 1): the fixed
Nativity-Octave days now carry their own direct Missal formulary
("Diebus infra octavam Nativitatis Domini"), not Holy Name
Sunday's (a first guess, measured wrong, reverted -- see
[nativity_octave_entries]'s own comment). *)
- check_entry "ef-nativity-octave-day-5" "Tit. 3, 4-7" "Luc. 2, 15-20";
- check_entry "ef-nativity-octave-day-6" "Tit. 3, 4-7" "Luc. 2, 15-20";
- check_entry "ef-nativity-octave-day-7" "Tit. 3, 4-7" "Luc. 2, 15-20";
- (* These three MUST stay absent -- Holy Wednesday and Good Friday are
- deliberately not hand-authored (multi-lesson liturgies, no single
- Epistle slot; see [holy_week_entries]'s own comment for why), and
- Lent's OWN "ef-lent-1-wednesday/friday/saturday" keys must not
+ check_entry "ef-nativity-octave-day-5" "Titus 3:4-7" "Luke 2:15-20";
+ check_entry "ef-nativity-octave-day-6" "Titus 3:4-7" "Luke 2:15-20";
+ check_entry "ef-nativity-octave-day-7" "Titus 3:4-7" "Luke 2:15-20";
+ (* Lent's OWN "ef-lent-1-wednesday/friday/saturday" keys must not
reappear once renamed away (colitur never computes them as its
- own slug at all). A regression net for those decisions, not
- merely documentation of them. *)
- let check_absent name =
- match Lectionary.find l (slug name) with
- | None -> ()
- | Some _ -> Alcotest.fail (name ^ ": must stay absent -- see bootstrap_lectionary.ml")
- in
- check_absent "ef-passiontide-2-wednesday";
- check_absent "ef-passiontide-2-friday";
- check_absent "ef-lent-1-wednesday"
+ own slug at all) -- a regression net for that decision, not
+ merely documentation of it. *)
+ match Lectionary.find l (slug "ef-lent-1-wednesday") with
+ | None -> ()
+ | Some _ ->
+ Alcotest.fail "ef-lent-1-wednesday: must stay absent -- see bootstrap_lectionary.ml"
let suite =
[ ("find present", `Quick, test_find_present);