b9c59785

ical-recurrence: test that a UTC ExceptionDateTimes excludes an instance of a zoned event

The value type of EXDATE must match that of DTSTART, so this calendar
does not conform.  Other implementors do emit it though, and dealing
with other implementors' failures to comply with the spec is one of this
library's goals.

Because removeExceptionDatetimes matches DateTime values structurally,
the EXDATE is discarded by a catch-all arm that does not even emit a
fixable error, so nothing tells the caller their exception did nothing.
Excluding the instance, or reporting a fixable error, are both fine;
silently keeping it is not.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 9s 1s 1s 10s 9s
Eval 1m00s 11s 11s 1m12s 49s
Build 1m11s 41s 1h06m20s 1h07m31s 1h05m37s
Suite 9s 54s 1h07m21s 1h07m31s 1h06m37s

Timeline

0s10s1m10s1h6m1h7m1h7m1h7m1h7m