Import the Annunciation's own proper Lauds/Vespers content
Deploy / deploy (push) Successful in 1m19s
Deploy / deploy (push) Successful in 1m19s
Live-verified against Divinum Officium (Monastic Tridentinum 1617),
2026-03-25 (fixed date, always winnable). Own chapter (Isa 7:14-15,
"Ecce virgo concípiet") and own versicle ("Ave, María, grátia plena")
at both hours, own Vespers responsory ("Ángelus Dómini * Nuntiávit
Maríæ," the opening of the Angelus). Lauds responsory and both hours'
hymns turn out byte-identical to Common-of-the-BVM's own already-
authored content -- reused verbatim.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014axryJBrRswYh2niA7WCUc
This commit is contained in:
@@ -340,6 +340,17 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Jesu, coróna Vírginum');
|
||||
});
|
||||
|
||||
it("resolves the Annunciation's own proper chapter, with Common-of-the-BVM's hymn", () => {
|
||||
// Live-verified against Divinum Officium (Monastic Tridentinum
|
||||
// 1617), 2026-03-25 (fixed date, always winnable). See lauds-
|
||||
// capitulum-annunciation.yml's header.
|
||||
const ordo = resolveOrdo('lauds', '2026-03-25');
|
||||
const chapter = ordo.parts.find((p) => p.kind === 'chapter');
|
||||
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Isa 7:14-15');
|
||||
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('O gloriósa Dómina');
|
||||
});
|
||||
|
||||
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'));
|
||||
|
||||
@@ -364,6 +364,16 @@ describe('resolveOrdo("vespers", ...)', () => {
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Láudibus cives résonent canóris');
|
||||
});
|
||||
|
||||
it("resolves the Annunciation's own proper Vespers responsory ('Angelus Domini'), distinct from Common-of-the-BVM's own", () => {
|
||||
// Live-verified against Divinum Officium (Monastic Tridentinum
|
||||
// 1617), 2026-03-25. See lauds-capitulum-annunciation.yml's header.
|
||||
const ordo = resolveOrdo('vespers', '2026-03-25');
|
||||
const responsory = ordo.parts.find((p) => p.kind === 'responsory');
|
||||
expect(responsory?.kind === 'responsory' ? responsory.text.text.la : undefined).toContain('Ángelus Dómini');
|
||||
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Ave maris stella');
|
||||
});
|
||||
|
||||
it("renders Passiontide's seasonal office, with the Gloria Patri omitted from the responsory", () => {
|
||||
// 2026-03-30 is Holy Monday (Passion Sunday 2026-03-22 through Holy
|
||||
// Saturday 2026-04-04) -- deliberately not 03-25, the Annunciation's
|
||||
|
||||
Reference in New Issue
Block a user