aboutsummaryrefslogtreecommitdiff
path: root/test/test_differential.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_differential.ml')
-rw-r--r--test/test_differential.ml18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml
index 849bde4..25a690d 100644
--- a/test/test_differential.ml
+++ b/test/test_differential.ml
@@ -912,6 +912,19 @@ let good_friday_slug = "ef-passiontide-2-friday"
Paschaltide and is correctly white already. *)
let violet_vigil_slugs = [ "vigil-of-st-lawrence"; "vigil-of-the-assumption" ]
+(* C38 (ef-sanctoral-status): `ubaldus` (16 May) and `didacus` (13 November)
+ were promoted from Commemoration_only to Feast on the Missal's own
+ universal calendarium, which ranks both "III classis" outright. lectio
+ inherits the Commemoration_only status from missalemeum, so where colitur
+ now observes the saint, lectio still observes the feria -- hence the slug,
+ rank and both citations differ together. Two exact shapes, not one:
+ 16 May falls in Paschaltide, whose ferial colour is ALREADY white, so no
+ colour difference arises there; 13 November is Time after Pentecost, green,
+ so the white confessor changes it. Both shapes are spelled out rather than
+ collapsed into a subset check, so a colour difference appearing on 16 May
+ (or vanishing on 13 November) would surface as unexplained. *)
+let promoted_feast_slugs = [ "ubaldus"; "didacus" ]
+
(* C26 (task 8, fix round 2, coordinator review, Important): Passion
week's own real Tuesday Mass (tools/bootstrap_lectionary.ml's own
[passion_tuesday_entry] comment has the full Missal citation and both
@@ -1294,6 +1307,11 @@ let layer_c_reason (l : row) (c : row) diffs =
else if String.equal c.slug good_friday_slug && diffs = [ First_f; Gospel_f; Colour_f ] then
Some "C36"
else if List.mem c.slug violet_vigil_slugs && diffs = [ Colour_f ] then Some "C37"
+ else if
+ List.mem c.slug promoted_feast_slugs
+ && (diffs = [ Slug_f; Rank; First_f; Gospel_f ]
+ || diffs = [ Slug_f; Rank; First_f; Gospel_f; Colour_f ])
+ then Some "C38"
else if List.mem c.slug holy_week_slugs && diffs = [ First_f; Gospel_f ] then Some "C23"
else if String.equal c.slug passion_tuesday_slug && diffs = [ First_f; Gospel_f ] then Some "C26"
else if String.equal c.slug advent_ember_sat_slug && diffs = [ First_f; Gospel_f ] then Some "C27"