Compare commits
2 Commits
a99be15219
...
14227c7afe
| Author | SHA1 | Date | |
|---|---|---|---|
| 14227c7afe | |||
| ab713f424a |
@@ -0,0 +1,12 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check on a clean weekday (2027-10-25, a Monday) -- wins
|
||||||
|
# outright at Simplex. On a Saturday this date is instead outranked by
|
||||||
|
# the generic "Sanctae Mariae Sabbato" votive (confirmed re-checking
|
||||||
|
# 2025-10-25, a Saturday, where the votive won instead) -- an artifact of
|
||||||
|
# the tested weekday, same pattern as several saints in August. Own
|
||||||
|
# proper collect, no unique antiphon of their own.
|
||||||
|
id: ss-chrysanthus-and-daria
|
||||||
|
name: "Ss. Chrysanthus and Daria, Martyrs"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-several-martyrs
|
||||||
|
propers: "ss-chrysanthus-and-daria"
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-09) -- winner outright, Semiduplex, alone. No
|
||||||
|
# unique collect: the raw file at this MM-DD slot (Sancti/10-09.txt) is
|
||||||
|
# actually St. John Leonardi's (a later, 17th-century addition to this
|
||||||
|
# filename slot, canonized 1938) -- a live prayTertia query for the
|
||||||
|
# Monastic 1617 track returns no Oratio at all, confirming propers: null
|
||||||
|
# is correct.
|
||||||
|
id: ss-dionysius-and-companions
|
||||||
|
name: "St. Dionysius, Bishop, and Companions, Martyrs"
|
||||||
|
rank: semiduplex
|
||||||
|
common: common-of-a-martyr-bishop
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# A monastic-calendar-specific addition: absent from the base Tridentine
|
||||||
|
# table (1570.txt) entirely, added by the monastic-specific delta table
|
||||||
|
# (M1617.txt) -- fittingly, since St. Placid is St. Benedict's own famous
|
||||||
|
# disciple. Verified live (Monastic Tridentinum 1617, 2026-10-05 and
|
||||||
|
# again 2032-10-05) -- winner outright, Duplex II. classis, alone; the
|
||||||
|
# highest-ranked monastic-only addition found in this pull so far. No
|
||||||
|
# unique collect: the raw file's [Oratio] is a plain cross-reference to a
|
||||||
|
# generic Common-of-several-martyrs formula (@Commune/C3a), not unique
|
||||||
|
# text, so propers: null is correct (Common-of-Saints only), same
|
||||||
|
# treatment as any other saint whose own file just points at the Common.
|
||||||
|
id: ss-placid-and-companions
|
||||||
|
name: "Ss. Placid and Companions, Martyrs"
|
||||||
|
rank: duplex-2-classis
|
||||||
|
common: common-of-several-martyrs
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-28) -- winner outright, Duplex II. classis,
|
||||||
|
# alone. Own proper collect, no unique antiphon of their own.
|
||||||
|
id: ss-simon-and-jude
|
||||||
|
name: "Ss. Simon and Jude, Apostles"
|
||||||
|
rank: duplex-2-classis
|
||||||
|
common: common-of-an-apostle
|
||||||
|
propers: "ss-simon-and-jude"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Genuinely unwinnable stub (verified 2025-10-21, 2026-10-21) -- always
|
||||||
|
# commemorated under St. Hilarion (see st-hilarion.yml), never wins
|
||||||
|
# outright; both are fixed, non-movable dates, so this isn't an artifact
|
||||||
|
# of the tested year. rank/propers unverified placeholders.
|
||||||
|
id: ss-ursula-and-companions
|
||||||
|
name: "Ss. Ursula and Companions, Virgins and Martyrs"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-several-martyrs
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-14) -- winner outright, Duplex, alone. Own
|
||||||
|
# proper collect, no unique antiphon of his own.
|
||||||
|
id: st-callistus
|
||||||
|
name: "St. Callistus I, Pope and Martyr"
|
||||||
|
rank: duplex
|
||||||
|
common: common-of-a-martyr-bishop
|
||||||
|
propers: "st-callistus"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2026-10-26) -- winner outright, Simplex, alone. No
|
||||||
|
# unique collect: the raw file at this MM-DD slot (Sancti/10-26.txt) is
|
||||||
|
# empty.
|
||||||
|
id: st-evaristus
|
||||||
|
name: "St. Evaristus, Pope and Martyr"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-a-martyr-bishop
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-04) -- winner outright, Duplex, alone. Own
|
||||||
|
# proper collect, no unique antiphon of his own.
|
||||||
|
id: st-francis
|
||||||
|
name: "St. Francis of Assisi, Confessor"
|
||||||
|
rank: duplex
|
||||||
|
common: common-of-a-confessor-not-bishop
|
||||||
|
propers: "st-francis"
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# A monastic-calendar-specific addition: absent from the base Tridentine
|
||||||
|
# table (1570.txt) entirely, added by the monastic-specific delta table
|
||||||
|
# (M1617.txt) -- fittingly, St. Gall (founder of the abbey of St. Gallen)
|
||||||
|
# is one of the most distinctly monastic saints in this whole pull.
|
||||||
|
# Verified live (Monastic Tridentinum 1617, 2025-10-16) -- winner
|
||||||
|
# outright, Duplex, alone. No unique collect: the raw file at this MM-DD
|
||||||
|
# slot (Sancti/10-16.txt) is actually St. Hedwig's (a later addition to
|
||||||
|
# this filename slot) -- a live prayTertia query for the Monastic 1617
|
||||||
|
# track returns no Oratio at all, confirming propers: null is correct.
|
||||||
|
id: st-gall
|
||||||
|
name: "St. Gall, Abbot"
|
||||||
|
rank: duplex
|
||||||
|
common: common-of-an-abbot
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-21, 2026-10-21) -- winner outright, Simplex,
|
||||||
|
# over the stub Ss. Ursula and Companions (see ss-ursula-and-companions.
|
||||||
|
# yml). No unique collect: the raw file at this MM-DD slot
|
||||||
|
# (Sancti/10-21.txt) is empty.
|
||||||
|
id: st-hilarion
|
||||||
|
name: "St. Hilarion, Abbot"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-an-abbot
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# A monastic-calendar-specific reassignment, not a mistake: the base
|
||||||
|
# Tridentine table (1570.txt) has St. Marcus, Pope, as Oct 7's primary,
|
||||||
|
# but the monastic-specific delta table (M1617.txt) overrides that day
|
||||||
|
# with this saint instead, demoting Marcus to a commemoration (see
|
||||||
|
# st-marcus.yml) -- confirmed live (Monastic Tridentinum 1617,
|
||||||
|
# 2025-10-07 and 2026-10-07), winning outright at Duplex. Same class of
|
||||||
|
# finding as April's St. Robert/St. Catherine and September's St.
|
||||||
|
# Nicholas of Tolentino reassignments. No unique collect: the raw file at
|
||||||
|
# this MM-DD slot (Sancti/10-07.txt) is actually Our Lady of the Rosary's
|
||||||
|
# (a later, 1573+ feast) -- a live prayTertia query for the Monastic 1617
|
||||||
|
# track returns no Oratio at all, confirming propers: null is correct.
|
||||||
|
id: st-justina
|
||||||
|
name: "St. Justina, Virgin and Martyr"
|
||||||
|
rank: duplex
|
||||||
|
common: common-of-a-virgin-martyr
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-18) -- winner outright, Duplex II. classis,
|
||||||
|
# alone. Own proper collect, no unique antiphon of his own.
|
||||||
|
id: st-luke
|
||||||
|
name: "St. Luke, Evangelist"
|
||||||
|
rank: duplex-2-classis
|
||||||
|
common: common-of-an-evangelist
|
||||||
|
propers: "st-luke"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Genuinely unwinnable stub (verified 2025-10-07, 2026-10-07) -- always
|
||||||
|
# commemorated under St. Justina in the monastic calendar (see
|
||||||
|
# st-justina.yml), even though the base Tridentine table has him as the
|
||||||
|
# primary here; both are fixed, non-movable dates, so this isn't an
|
||||||
|
# artifact of the tested year. rank/propers unverified placeholders.
|
||||||
|
id: st-marcus
|
||||||
|
name: "St. Marcus, Pope and Confessor"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-a-confessor-bishop
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
|
||||||
|
# kalendar check (2025-10-01) -- winner outright, Simplex, alone. No
|
||||||
|
# unique collect: the raw file at this MM-DD slot (Sancti/10-01.txt) is
|
||||||
|
# empty.
|
||||||
|
id: st-remigius
|
||||||
|
name: "St. Remigius, Bishop and Confessor"
|
||||||
|
rank: simplex
|
||||||
|
common: common-of-a-confessor-bishop
|
||||||
|
propers: null
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# A real vigil (2025-10-31, clean year), distinct from the pre-existing
|
||||||
|
# all-saints.yml (Nov 1). Own proper collect, generic enough that it
|
||||||
|
# doesn't name any particular saint, no unique antiphon of its own.
|
||||||
|
id: vigil-of-all-saints
|
||||||
|
name: "Vigil of All Saints"
|
||||||
|
rank: vigil
|
||||||
|
common: common-of-a-vigil
|
||||||
|
propers: "vigil-of-all-saints"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# A real vigil (2025-10-27, clean year). Own proper collect, no unique
|
||||||
|
# antiphon of its own.
|
||||||
|
id: vigil-of-ss-simon-and-jude
|
||||||
|
name: "Vigil of Ss. Simon and Jude"
|
||||||
|
rank: vigil
|
||||||
|
common: common-of-a-vigil
|
||||||
|
propers: "vigil-of-ss-simon-and-jude"
|
||||||
@@ -233,5 +233,26 @@ days:
|
|||||||
"09-27": [ss-cosmas-and-damian]
|
"09-27": [ss-cosmas-and-damian]
|
||||||
"09-29": [st-michael]
|
"09-29": [st-michael]
|
||||||
"09-30": [st-jerome]
|
"09-30": [st-jerome]
|
||||||
|
# October — 10/12 of the pre-1955 pull. Three monastic-calendar-specific
|
||||||
|
# finds this month, all absent from or overriding the base Tridentine
|
||||||
|
# table: Ss. Placid and Companions (Oct 5, St. Benedict's own famous
|
||||||
|
# disciple, a high-rank addition), St. Justina (Oct 7, reassigns what
|
||||||
|
# the base table gives to St. Marcus, Pope -- see st-justina.yml/
|
||||||
|
# st-marcus.yml), and St. Gall (Oct 16, founder of St. Gallen). No
|
||||||
|
# octave-gap exclusions this month.
|
||||||
|
"10-01": [st-remigius]
|
||||||
|
"10-04": [st-francis]
|
||||||
|
"10-05": [ss-placid-and-companions]
|
||||||
|
"10-07": [st-justina, st-marcus]
|
||||||
|
"10-09": [ss-dionysius-and-companions]
|
||||||
|
"10-14": [st-callistus]
|
||||||
|
"10-16": [st-gall]
|
||||||
|
"10-18": [st-luke]
|
||||||
|
"10-21": [st-hilarion, ss-ursula-and-companions]
|
||||||
|
"10-25": [ss-chrysanthus-and-daria]
|
||||||
|
"10-26": [st-evaristus]
|
||||||
|
"10-27": [vigil-of-ss-simon-and-jude]
|
||||||
|
"10-28": [ss-simon-and-jude]
|
||||||
|
"10-31": [vigil-of-all-saints]
|
||||||
"11-01": [all-saints]
|
"11-01": [all-saints]
|
||||||
"12-08": [immaculate-conception]
|
"12-08": [immaculate-conception]
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2027-10-25).
|
||||||
|
id: ss-chrysanthus-and-daria-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Beatórum Mártyrum tuórum, Dómine, Chrysánthi et Daríæ, quǽsumus, adsit nobis orátio: ut, quos venerámur obséquio, eórum pium júgiter experiámur auxílium.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
Lord, may Your holy Martyrs Chrysanthus and Daria assist us by their prayers. We offer them our homage; may we always experience their loving aid.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-28).
|
||||||
|
id: ss-simon-and-jude-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Deus, qui nos per beátos Apóstolos tuos Simónem et Judam ad agnitiónem tui nóminis veníre tribuísti: da nobis eórum glóriam sempitérnam et proficiéndo celebráre, et celebrándo profícere.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
O God, Who didst use thine holy Apostles Simon and Jude to make known unto us thy Name, grant unto us so to profit by their doctrine as to do honour to their everlasting glory, and so to honour that glory as to gain profit to ourselves.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-14).
|
||||||
|
id: st-callistus-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Deus, qui nos cónspicis ex nostra infirmitáte defícere: ad amórem tuum nos misericórditer per Sanctórum tuórum exémpla restáura.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
O God, Who seest that in our own weakness we do continually fall, make, in thy mercy, the examples of thy holy children a mean whereby to renew in us the love of thyself.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-04).
|
||||||
|
id: st-francis-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Deus, qui Ecclésiam tuam beáti Francísci méritis fœtu novæ prolis amplíficas: tríbue nobis; ex ejus imitatióne, terréna despícere, et cæléstium donórum semper participatióne gaudére.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
O God, Who didst use the worthy deeds of thy blessed servant Francis as a mean whereby to make thy Church again the mother of children, grant that we like him may set little price by earthly things, and attain unto a portion of those good things which Thou givest in heaven.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-18).
|
||||||
|
id: st-luke-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Intervéniat pro nobis, quǽsumus, Dómine, sanctus tuus Lucas Evangelísta: qui crucis mortificatiónem júgiter in suo córpore, pro tui nóminis honóre, portávit.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
O Lord, we beseech thee, that Luke, thy holy Evangelist, who for the honor of thy name bore continually in his body the suffering of the cross, may intercede in our behalf.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-31).
|
||||||
|
id: vigil-of-all-saints-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Dómine, Deus noster, multíplica super nos grátiam tuam: et, quorum prævenimus gloriósa solemnia, tríbue subsequi in sancta professióne lætítiam.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
Pour forth abundantly upon us of thy mercy, O Lord our God, and grant us grace to follow in their joy in their holy testifying all thy blessed servants the Eve of whose glorious and solemn Commemoration we are keeping.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617) — read
|
||||||
|
# directly from the reference engine's own real-date output (2025-10-27).
|
||||||
|
id: vigil-of-ss-simon-and-jude-collect
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
Orémus.
|
||||||
|
Concede, quǽsumus, omnípotens Deus: ut, sicut Apostolórum tuórum Simónis et Judæ gloriósa natalícia prævenimus; sic ad tua benefícia promerenda, majestátem tuam pro nobis ipsi præveniant.
|
||||||
|
Per Dóminum nostrum Jesum Christum, Fílium tuum: qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||||
|
℟. Amen.
|
||||||
|
en: |
|
||||||
|
Let us pray.
|
||||||
|
Almighty God, grant, we beseech thee, that as we are preventing thine Apostles Simon and Jude, their glorious birth-day, so the same may prevent thy Majesty to win thy good things for us.
|
||||||
|
Through Jesus Christ, thy Son our Lord, Who liveth and reigneth with thee, in the unity of the Holy Ghost, God, world without end.
|
||||||
|
℟. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
import { describe, expect, it } from 'vitest';
|
||||||
|
import { resolveDay } from '../../src/calendar';
|
||||||
|
import { getDayCollect } from '../../src/hours/resolve-common';
|
||||||
|
|
||||||
|
// Clean per-annum years for these dates (no Sunday collision) — see
|
||||||
|
// data/calendar/saints/*.yml for per-saint source detail.
|
||||||
|
describe('October sanctoral pull (first pass)', () => {
|
||||||
|
it('a monastic-calendar-specific addition (Ss. Placid and Companions, St. Benedict\'s own disciple) wins outright at Duplex II. classis', () => {
|
||||||
|
const day = resolveDay('2026-10-05');
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'ss-placid-and-companions',
|
||||||
|
name: 'Ss. Placid and Companions, Martyrs',
|
||||||
|
rank: 'duplex-2-classis',
|
||||||
|
});
|
||||||
|
expect(day.commemorations).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('a monastic-calendar-specific reassignment (St. Justina) displaces what the base Tridentine table gives to St. Marcus, Pope', () => {
|
||||||
|
const day = resolveDay('2025-10-07');
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'st-justina',
|
||||||
|
name: 'St. Justina, Virgin and Martyr',
|
||||||
|
rank: 'duplex',
|
||||||
|
});
|
||||||
|
expect(day.commemorations).toEqual([
|
||||||
|
{ kind: 'sanctoral', id: 'st-marcus', name: 'St. Marcus, Pope and Confessor', rank: 'simplex' },
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('St. Gall, a monastic-calendar-specific addition, wins outright at Duplex, alone', () => {
|
||||||
|
const day = resolveDay('2025-10-16');
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'st-gall',
|
||||||
|
name: 'St. Gall, Abbot',
|
||||||
|
rank: 'duplex',
|
||||||
|
});
|
||||||
|
expect(day.commemorations).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('St. Luke wins outright at Duplex II. classis with a real proper collect, alone', () => {
|
||||||
|
const day = resolveDay('2025-10-18');
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'st-luke',
|
||||||
|
name: 'St. Luke, Evangelist',
|
||||||
|
rank: 'duplex-2-classis',
|
||||||
|
});
|
||||||
|
expect(getDayCollect(day).status.en).toBe('verified');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Ss. Simon and Jude win outright at Duplex II. classis with a real proper collect, distinct from their own Vigil the day before', () => {
|
||||||
|
const vigil = resolveDay('2025-10-27');
|
||||||
|
const day = resolveDay('2025-10-28');
|
||||||
|
expect(vigil.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'vigil-of-ss-simon-and-jude',
|
||||||
|
name: 'Vigil of Ss. Simon and Jude',
|
||||||
|
rank: 'vigil',
|
||||||
|
});
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'ss-simon-and-jude',
|
||||||
|
name: 'Ss. Simon and Jude, Apostles',
|
||||||
|
rank: 'duplex-2-classis',
|
||||||
|
});
|
||||||
|
expect(getDayCollect(day).status.en).toBe('verified');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('the Vigil of All Saints resolves distinctly from All Saints itself the next day', () => {
|
||||||
|
const vigil = resolveDay('2025-10-31');
|
||||||
|
const day = resolveDay('2025-11-01');
|
||||||
|
expect(vigil.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'vigil-of-all-saints',
|
||||||
|
name: 'Vigil of All Saints',
|
||||||
|
rank: 'vigil',
|
||||||
|
});
|
||||||
|
expect(getDayCollect(vigil).status.en).toBe('verified');
|
||||||
|
expect(day.winner).toEqual({
|
||||||
|
kind: 'sanctoral',
|
||||||
|
id: 'all-saints',
|
||||||
|
name: 'All Saints',
|
||||||
|
rank: 'duplex-1-classis',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -37,9 +37,12 @@ describe('resolveDay', () => {
|
|||||||
// winning by the Vigil of St. Lawrence, itself impeded by the Sunday
|
// winning by the Vigil of St. Lawrence, itself impeded by the Sunday
|
||||||
// and transferred away — see tests/calendar/transfer.test.ts, and
|
// and transferred away — see tests/calendar/transfer.test.ts, and
|
||||||
// confirmed against the live reference engine, which shows the same
|
// confirmed against the live reference engine, which shows the same
|
||||||
// commemoration despite the vigil's own absence that day).
|
// commemoration despite the vigil's own absence that day). Also not
|
||||||
const day = resolveDay('2026-10-04');
|
// 2026-10-04 (moved here from there): since the October pull, that
|
||||||
expect(day.date).toBe('2026-10-04');
|
// date is St. Francis's own day (Duplex), which wins outright even on
|
||||||
|
// an ordinary Sunday.
|
||||||
|
const day = resolveDay('2026-11-15');
|
||||||
|
expect(day.date).toBe('2026-11-15');
|
||||||
expect(day.weekday).toBe('sunday');
|
expect(day.weekday).toBe('sunday');
|
||||||
expect(day.winner.kind).toBe('temporal');
|
expect(day.winner.kind).toBe('temporal');
|
||||||
expect(day.commemorations).toEqual([]);
|
expect(day.commemorations).toEqual([]);
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
import { describe, expect, it } from 'vitest';
|
import { describe, expect, it } from 'vitest';
|
||||||
import { resolveOrdo } from '../../src/hours';
|
import { resolveOrdo } from '../../src/hours';
|
||||||
|
|
||||||
// 2026-10-05 is a Monday, and (as of the pre-1955 sanctoral pull reaching
|
// 2026-11-16 is a Monday, and (as of the pre-1955 sanctoral pull reaching
|
||||||
// October) still ordinary/ferial — the Monastic 1617 distribution gives
|
// October, with November/December still unpulled) still ordinary/ferial —
|
||||||
// Monday three whole psalms (1, 2, 6), the first of which (Psalm 1) has
|
// the Monastic 1617 distribution gives Monday three whole psalms (1, 2,
|
||||||
// real sample content in data/psalms/001.yml, so these tests can check
|
// 6), the first of which (Psalm 1) has real sample content in
|
||||||
// real verse data without needing every psalm authored. Already had to
|
// data/psalms/001.yml, so these tests can check real verse data without
|
||||||
// move once (from a June Monday that got real sanctoral content) — if a
|
// needing every psalm authored. Already had to move twice (first from a
|
||||||
// future month's pull lands here too, it'll need to move again.
|
// June Monday, then from an October Monday that got real sanctoral
|
||||||
const MONDAY = '2026-10-05';
|
// content — Ss. Placid and Companions, see
|
||||||
|
// data/calendar/saints/ss-placid-and-companions.yml) — if November's own
|
||||||
|
// pull lands here too, it'll need to move again.
|
||||||
|
const MONDAY = '2026-11-16';
|
||||||
const SUNDAY = '2026-08-09';
|
const SUNDAY = '2026-08-09';
|
||||||
|
|
||||||
describe('resolveOrdo("prime", ...)', () => {
|
describe('resolveOrdo("prime", ...)', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user