Label resumed post-Epiphany Sundays/weeks distinctly from ordinary ones
Deploy / deploy (push) Successful in 1m53s
Deploy / deploy (push) Successful in 1m53s
A resumed post-Epiphany Sunday/week (overflow years, e.g. 11/8/2026) read as plain "after Epiphany", indistinguishable from an ordinary in-season post-Epiphany Sunday. Append ", resumed" / ", resumpta" so the label reflects that it's the overflow case. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGsATZvfnpQ81HQuoF5JuL
This commit is contained in:
@@ -280,8 +280,10 @@ const FIXED_LAST_SUNDAY_ORDINAL = 23;
|
|||||||
* a second time, so the label can never disagree with what's actually
|
* a second time, so the label can never disagree with what's actually
|
||||||
* rendered underneath):
|
* rendered underneath):
|
||||||
* - A resumed post-Epiphany Sunday/week (an overflow year's skipped
|
* - A resumed post-Epiphany Sunday/week (an overflow year's skipped
|
||||||
* Epiphany Sundays, reappearing here) — reads "after Epiphany", not
|
* Epiphany Sundays, reappearing here) — reads "after Epiphany,
|
||||||
* the next Trinity-counted number in line.
|
* resumed", not the next Trinity-counted number in line and not a
|
||||||
|
* bare "after Epiphany" (which would look identical to an ordinary,
|
||||||
|
* in-season post-Epiphany Sunday).
|
||||||
* - The fixed final Sunday/week of the year itself — always the fixed
|
* - The fixed final Sunday/week of the year itself — always the fixed
|
||||||
* 23rd-after-Trinity ordinal (see FIXED_LAST_SUNDAY_ORDINAL above),
|
* 23rd-after-Trinity ordinal (see FIXED_LAST_SUNDAY_ORDINAL above),
|
||||||
* every year, not just overflow ones.
|
* every year, not just overflow ones.
|
||||||
@@ -301,8 +303,11 @@ function trinitytideOverrideLabel(day: LiturgicalDay): Bi | undefined {
|
|||||||
if (epiphanyMatch) {
|
if (epiphanyMatch) {
|
||||||
const n = Number(epiphanyMatch[1]);
|
const n = Number(epiphanyMatch[1]);
|
||||||
return day.weekday === 'sunday'
|
return day.weekday === 'sunday'
|
||||||
? bi(`The ${ordinal(n)} Sunday after Epiphany`, `Dominica ${ordinalLa(n)} post Epiphaniam`)
|
? bi(`The ${ordinal(n)} Sunday after Epiphany, resumed`, `Dominica ${ordinalLa(n)} post Epiphaniam, resumpta`)
|
||||||
: bi(`${weekdayName.en} in the ${ordinal(n)} week after Epiphany`, `${weekdayName.la} in hebdomada ${ordinalLa(n)} post Epiphaniam`);
|
: bi(
|
||||||
|
`${weekdayName.en} in the ${ordinal(n)} week after Epiphany, resumed`,
|
||||||
|
`${weekdayName.la} in hebdomada ${ordinalLa(n)} post Epiphaniam, resumpta`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id === 'post-pentecost-24') {
|
if (id === 'post-pentecost-24') {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ describe('getDayLabel — ordinal temporal label', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () => {
|
describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () => {
|
||||||
it('labels a resumed Sunday/weekday as "after Epiphany", not the next Trinity-counted number', () => {
|
it('labels a resumed Sunday/weekday as "after Epiphany, resumed", not the next Trinity-counted number', () => {
|
||||||
// Not 2026 any more: the November sanctoral pull gave fixed real
|
// Not 2026 any more: the November sanctoral pull gave fixed real
|
||||||
// content to Nov 8 (Octave Day of All Saints, Duplex majus) and Nov
|
// content to Nov 8 (Octave Day of All Saints, Duplex majus) and Nov
|
||||||
// 15 (St. Albert the Great, Duplex) -- both now permanently win
|
// 15 (St. Albert the Great, Duplex) -- both now permanently win
|
||||||
@@ -126,7 +126,7 @@ describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () =>
|
|||||||
// trailing after the Sunday's own winning label per this app's usual
|
// trailing after the Sunday's own winning label per this app's usual
|
||||||
// winner-first display.
|
// winner-first display.
|
||||||
expect(getDayLabel(resolveDay('2024-11-10')).en).toBe(
|
expect(getDayLabel(resolveDay('2024-11-10')).en).toBe(
|
||||||
'The 5th Sunday after Epiphany (Semiduplex) — Ss. Tryphon, Respicius, and Nympha, Martyrs',
|
'The 5th Sunday after Epiphany, resumed (Semiduplex) — Ss. Tryphon, Respicius, and Nympha, Martyrs',
|
||||||
);
|
);
|
||||||
// 2024-11-11 is St. Martin of Tours (Duplex, pre-existing content) --
|
// 2024-11-11 is St. Martin of Tours (Duplex, pre-existing content) --
|
||||||
// an ordinary (non-privileged) Monday fully yields to a real winning
|
// an ordinary (non-privileged) Monday fully yields to a real winning
|
||||||
@@ -141,7 +141,7 @@ describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () =>
|
|||||||
'St. Martin of Tours, Bishop and Confessor (Duplex Majus) — St. Menna, Martyr',
|
'St. Martin of Tours, Bishop and Confessor (Duplex Majus) — St. Menna, Martyr',
|
||||||
);
|
);
|
||||||
expect(getDayLabel(resolveDay('2024-11-17')).en).toBe(
|
expect(getDayLabel(resolveDay('2024-11-17')).en).toBe(
|
||||||
"The 6th Sunday after Epiphany (Semiduplex) — St. Gregory Thaumaturgus, Bishop and Confessor (transferred away)",
|
"The 6th Sunday after Epiphany, resumed (Semiduplex) — St. Gregory Thaumaturgus, Bishop and Confessor (transferred away)",
|
||||||
);
|
);
|
||||||
// 2024-11-18 is the Dedication of the Basilicas of Ss. Peter and Paul
|
// 2024-11-18 is the Dedication of the Basilicas of Ss. Peter and Paul
|
||||||
// (pre-existing fixed content) -- again a real winning saint, not the
|
// (pre-existing fixed content) -- again a real winning saint, not the
|
||||||
@@ -157,7 +157,7 @@ describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () =>
|
|||||||
// stretch, is genuinely clean (no sanctoral entry, no commemoration)
|
// stretch, is genuinely clean (no sanctoral entry, no commemoration)
|
||||||
// -- covers the ferial "Monday in the Nth week after Epiphany" format
|
// -- covers the ferial "Monday in the Nth week after Epiphany" format
|
||||||
// itself, independent of the specific 5th/6th Sunday pair above.
|
// itself, independent of the specific 5th/6th Sunday pair above.
|
||||||
expect(getDayLabel(resolveDay('2035-10-29')).en).toBe('Monday in the 3rd week after Epiphany (Feria)');
|
expect(getDayLabel(resolveDay('2035-10-29')).en).toBe('Monday in the 3rd week after Epiphany, resumed (Feria)');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('the fixed final Sunday of the year always shows the fixed 23rd-after-Trinity ordinal, not a raw elapsed-week count', () => {
|
it('the fixed final Sunday of the year always shows the fixed 23rd-after-Trinity ordinal, not a raw elapsed-week count', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user