Add Lauds' ferial Preces (Tridentine 1906/1910), shown on ferial/vigil days
Deploy / deploy (push) Successful in 53s
Deploy / deploy (push) Successful in 53s
Monastic 1617 has no Preces feriales at Lauds at all -- content sourced from Tridentine 1906/1910 per direct instruction, same track as the Cross suffrage and St. Joseph's suffrage. New lauds-preces-feriales.yml (Kyrie, Pater noster, the full versicle litany, Psalm 129, closing versicles) transcribed from a live query against a clean Advent feria, matching what actually rendered rather than the underlying template's own conditional markup (the Pope/Bishop and benefactors' versicles are both dropped live despite being present in the template; the King/nation versicle pair is kept despite the template's own rubric note suggesting otherwise). New `lauds-preces` part kind (hours/types.ts) picks between this and the existing short Sunday/feast litany (lauds-short-litany.yml, unchanged content) on a ferial-or-vigil day. Deliberately not the shared `isSundayOrFeast` predicate, which treats a Vigil as a "feast" -- here a Vigil needs to land on the ferial side instead, per direct instruction. Also deliberately wider than the real 1906/1910 rubric itself, which restricts the fuller form to Advent/Lent/Ember days specifically -- shown on *every* ferial or vigil day instead, mirroring the identical explicit choice already made for Prime's own ferial Preces. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -153,7 +153,7 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
expect(canticle?.kind === 'canticle' ? canticle.antiphon?.text.la : undefined).toContain('In cratícula');
|
||||
});
|
||||
|
||||
it('includes the short litany (Kyrie + Our Father) right after the Benedictus, before the day collect', () => {
|
||||
it('includes the Kyrie + Our Father lead-in right after the Benedictus, before the day collect (either form)', () => {
|
||||
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
|
||||
const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
|
||||
const benedictusIndex = ordo.parts.findIndex((p) => p.kind === 'canticle' && p.canticleId === 'benedictus');
|
||||
@@ -162,6 +162,29 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
expect(collectIndex).toBeGreaterThan(litanyIndex);
|
||||
});
|
||||
|
||||
it('uses the fuller Tridentine 1906/1910 ferial Preces (with Psalm 129) on a plain ferial day, not the short Sunday/feast litany', () => {
|
||||
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
|
||||
const preces = ordo.parts.find((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
|
||||
expect(preces?.kind === 'preces' ? preces.text.text.la : undefined).toContain('De profúndis clamávi');
|
||||
expect(preces?.kind === 'preces' ? preces.text.text.en : undefined).toContain('Out of the depths');
|
||||
});
|
||||
|
||||
it('uses the short Sunday/feast litany, without Psalm 129, on a Sunday and on a real saint\'s own winning day', () => {
|
||||
const sunday = resolveOrdo('lauds', '2026-06-28'); // plain temporal Sunday
|
||||
const sundayPreces = sunday.parts.find((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
|
||||
expect(sundayPreces?.kind === 'preces' ? sundayPreces.text.text.la : undefined).not.toContain('Psalmus 129');
|
||||
|
||||
const saintsDay = resolveOrdo('lauds', '2026-08-10'); // St. Lawrence, Duplex II. classis
|
||||
const saintsDayPreces = saintsDay.parts.find((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
|
||||
expect(saintsDayPreces?.kind === 'preces' ? saintsDayPreces.text.text.la : undefined).not.toContain('Psalmus 129');
|
||||
});
|
||||
|
||||
it('still uses the fuller ferial Preces on a Vigil, even though a Vigil is a sanctoral winner (unlike isSundayOrFeast elsewhere)', () => {
|
||||
const ordo = resolveOrdo('lauds', '2028-08-09'); // Vigil of St. Lawrence wins outright this year (not a Sunday)
|
||||
const preces = ordo.parts.find((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
|
||||
expect(preces?.kind === 'preces' ? preces.text.text.la : undefined).toContain('Psalmus 129');
|
||||
});
|
||||
|
||||
it('resolves just the winners own collect on a plain day with nothing commemorated', () => {
|
||||
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
|
||||
const collects = ordo.parts.filter((p) => p.kind === 'prayer');
|
||||
|
||||
Reference in New Issue
Block a user