Omit responsories' own closing Gloria Patri throughout Passiontide
A different, wider rule than the psalm/canticle Gloria (Triduum-only): responsories drop their Gloria for the whole of Passiontide (Passion Sunday through Holy Saturday), except on a Sancti feast's own day — live-verified (St. Joseph, Duplex I, 2027-03-19, landing in Passiontide that year, keeps it; an ordinary ferial day in the same window omits it, at both Compline and Prime). Every responsory's stored text differs, Gloria-bearing vs Gloria-free, by exactly one fixed-wording line, so resolve-common.ts's new resolveResponsory filters that line out rather than requiring separate per-season files or a data migration — mechanism first, per the project's own stated content-authoring order. Wired into the four hours that have a real responsory (Compline, Prime, Lauds, Vespers); Lauds/ Vespers' existing hand-authored Passiontide-proper responsories were already Gloria-free and are unaffected.
This commit is contained in:
@@ -320,3 +320,22 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Auróra lucis rútilat');
|
||||
});
|
||||
});
|
||||
|
||||
describe('resolveOrdo("lauds", ...) responsory Gloria omission', () => {
|
||||
// Real Passiontide already routes to a wholesale different proper-of-
|
||||
// season responsory (lauds-responsory-passiontide.yml, "Érue a frámea")
|
||||
// that was already transcribed without a Gloria line -- this just
|
||||
// confirms the shared mechanism (resolve-common.ts's resolveResponsory)
|
||||
// doesn't break that, and still applies correctly on an ordinary date.
|
||||
// Same Passiontide-wide, Sancti-exempt rule as Compline's -- see
|
||||
// tests/hours/compline.test.ts's own describe block for the live-
|
||||
// verification dates.
|
||||
it('has no Gloria on a ferial Passiontide day, has one on an ordinary date', () => {
|
||||
const passiontideResponsory = resolveOrdo('lauds', '2027-03-15').parts.find((p) => p.kind === 'responsory');
|
||||
const ordinaryResponsory = resolveOrdo('lauds', '2026-08-20').parts.find((p) => p.kind === 'responsory');
|
||||
expect(passiontideResponsory?.kind === 'responsory' ? passiontideResponsory.text.text.la : undefined).not.toContain(
|
||||
'Glória Patri',
|
||||
);
|
||||
expect(ordinaryResponsory?.kind === 'responsory' ? ordinaryResponsory.text.text.la : undefined).toContain('Glória Patri');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user