From 07def7ed62c39b5c666b97bd3eab1680a15e888e Mon Sep 17 00:00:00 2001 From: sstent Date: Sat, 21 Feb 2026 08:52:28 -0800 Subject: [PATCH] conductor(checkpoint): Checkpoint end of Phase 3 --- icalendar_test.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/icalendar_test.ts b/icalendar_test.ts index cec9c10..c460ed6 100644 --- a/icalendar_test.ts +++ b/icalendar_test.ts @@ -243,3 +243,26 @@ Deno.test("expandRecurrences - object rrule with byday", () => { assertEquals(results[0].recurrent, true); }); + +Deno.test("expandRecurrences - composite object rrule", () => { + const now = new Date(); + const start = new Date(now.getTime() - 10 * 86400000); + const startStr = localDateString(start); + const untilDate = new Date(now.getTime() + 10 * 86400000); + + const icsEvent = { + summary: "Composite RRULE Event", + start: startStr, + rrule: { + frequency: "WEEKLY", + until: { date: untilDate }, + byday: [{ day: "MO" }, { day: "WE" }, { day: "FR" }] + } + }; + + const results = expandRecurrences(icsEvent, 30); + // Should successfully expand multiple days per week until the date + assert(results.length > 1); + assertEquals(results[0].recurrent, true); +}); +