- Replace dtend ?? dtstart with event.endDate which handles DURATION-only VEVENTs - Add positive-duration guard (PT30M / P1D) to both non-recurring and recurring branches - Add single-duration.ics fixture and regression test asserting end > start for DURATION-only events
29 lines
614 B
Plaintext
29 lines
614 B
Plaintext
BEGIN:VCALENDAR
|
|
VERSION:2.0
|
|
PRODID:-//FamilySync//Test//EN
|
|
BEGIN:VTIMEZONE
|
|
TZID:America/Toronto
|
|
BEGIN:STANDARD
|
|
DTSTART:19701101T020000
|
|
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
|
TZOFFSETFROM:-0400
|
|
TZOFFSETTO:-0500
|
|
TZNAME:EST
|
|
END:STANDARD
|
|
BEGIN:DAYLIGHT
|
|
DTSTART:19700308T020000
|
|
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
|
TZOFFSETFROM:-0500
|
|
TZOFFSETTO:-0400
|
|
TZNAME:EDT
|
|
END:DAYLIGHT
|
|
END:VTIMEZONE
|
|
BEGIN:VEVENT
|
|
UID:single-duration-only@familysync.test
|
|
DTSTART;TZID=America/Toronto:20260618T080000
|
|
DURATION:PT1H
|
|
SUMMARY:Morning Standup
|
|
DESCRIPTION:Non-recurring timed event with DURATION only, no DTEND
|
|
END:VEVENT
|
|
END:VCALENDAR
|