aboutsummaryrefslogtreecommitdiff
path: root/test/test_golden.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 11:43:13 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 11:43:13 +0200
commit9a34f7d8a60ef390a98011ad7ee7cbd2ad4a3f4e (patch)
tree3b3d4140d0b3feb005a1bf36b52458b662944e3c /test/test_golden.ml
parentcb07b035170eb22e0cff30be6449c74af897cda1 (diff)
parent0281a846ac7c22d22990a6664a37205930a94b7d (diff)
downloadcolitur-9a34f7d8a60ef390a98011ad7ee7cbd2ad4a3f4e.tar.gz
colitur-9a34f7d8a60ef390a98011ad7ee7cbd2ad4a3f4e.zip
merge: EF rubrical corrections from O'Connell and a published 1962 Ordo
Three colour fixes, each argued from the Missal and each invisible to every validation layer that shares colitur's own data lineage.
Diffstat (limited to 'test/test_golden.ml')
-rw-r--r--test/test_golden.ml35
1 files changed, 32 insertions, 3 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml
index a073c52..33ca362 100644
--- a/test/test_golden.ml
+++ b/test/test_golden.ml
@@ -329,7 +329,7 @@ let test_annunciation_transfer_inside_holy_week_2016 () =
actually reaches a live case" for exactly this reason. *)
check ~msg:"2016-03-25 Good Friday: Triduum outranks the Annunciation (RG91 entry 2 > 11), no commemoration"
2016 3 25
- "2016-03-25 friday season=passiontide week=2 slug=ef-passiontide-2-friday rank=class-1 colour=violet subject=lord \
+ "2016-03-25 friday season=passiontide week=2 slug=ef-passiontide-2-friday rank=class-1 colour=black subject=lord \
name_la=Feria VI in Passione et Morte Domini comms=[] in=- out=[annunciation-of-the-blessed-virgin-mary->2016-04-04]";
(* The general RG 96 walk from 26 March would still be inside the Triduum,
the Easter octave (all I class, entry 2/10) -- carrying the feast PAST
@@ -524,7 +524,7 @@ let test_holy_thursday_is_white_2026 () =
name_la=Feria V in Cena Domini comms=[] in=- out=[]";
check ~msg:"2026-04-03 Good Friday: back to violet (RG128) -- Thursday's white is a one-day exception" 2026 4
3
- "2026-04-03 friday season=passiontide week=2 slug=ef-passiontide-2-friday rank=class-1 colour=violet subject=lord \
+ "2026-04-03 friday season=passiontide week=2 slug=ef-passiontide-2-friday rank=class-1 colour=black subject=lord \
name_la=Feria VI in Passione et Morte Domini comms=[] in=- out=[]"
(* ------------------------------------------------------------------ *)
@@ -1315,9 +1315,38 @@ let test_rogation_wednesday_yields_to_a_feast_2026 () =
"2026-05-13 wednesday season=paschaltide week=6 slug=ef-ascension-vigil rank=class-2 colour=white \
subject=temporal name_la=- comms=[robert-bellarmine:ordinary] in=- out=[]"
+(* RG 128, transcribed in docs/research/rules-register.md ยง3b: violet is used
+ for "II/III-class vigils outside Paschaltide". Two of colitur's five vigils
+ disagreed with that rule until the ef-oconnell-rubrics branch -- the
+ Assumption's (II class, 14 August) was White and St Lawrence's (III class,
+ 9 August) was Red. Both are outside Paschaltide, so both are violet.
+
+ O'Connell, The Celebration of Mass 4th ed. (1964), section 4(c) states the
+ same rule and its footnote 169 names the sole exception -- "the only vigil
+ of II class within Eastertide is that of the Ascension and its colour is
+ white" -- which colitur already emits correctly (ef-ascension-vigil, white,
+ pinned by the two Rogation Wednesday cases just above).
+
+ Pinned in years where each vigil is actually OBSERVED rather than impeded:
+ 9 August 2025 is a Saturday and 14 August 2025 a Thursday, both checked
+ with `date -d`. In 2026, 9 August is a Sunday and the vigil never appears. *)
+let test_vigil_of_st_lawrence_is_violet_2025 () =
+ check ~msg:"RG 128: III-class vigil outside Paschaltide is violet, not red" 2025 8 9
+ "2025-08-09 saturday season=time-after-pentecost week=8 slug=vigil-of-st-lawrence \
+ rank=class-3 colour=violet subject=saint name_la=- comms=[romanus:ordinary] in=- out=[]"
+
+let test_vigil_of_the_assumption_is_violet_2025 () =
+ check ~msg:"RG 128: II-class vigil outside Paschaltide is violet, not white" 2025 8 14
+ "2025-08-14 thursday season=time-after-pentecost week=9 slug=vigil-of-the-assumption \
+ rank=class-2 colour=violet subject=saint name_la=- comms=[eusebius-confessor:ordinary] in=- out=[]"
+
let suite =
( "golden pins (known-tricky years)",
- [ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick
+ [ Alcotest.test_case "RG128: St Lawrence's vigil is violet (2025)" `Quick
+ test_vigil_of_st_lawrence_is_violet_2025;
+ Alcotest.test_case "RG128: the Assumption's vigil is violet (2025)" `Quick
+ test_vigil_of_the_assumption_is_violet_2025;
+ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick
test_easter_extreme_1598;
Alcotest.test_case "Easter extreme: 1666 latest (25 Apr, Gauss-verified)" `Quick
test_easter_extreme_1666;