8355826d

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 1s 4s 4s 6s 1s
Eval 51s 13s 13s 1m05s 45s
Build 1m04s 1m49s - - 6m49s
Suite 1s 2m07s - - 2h44m32s

Timeline

0s1m7m20s7m30s7m40s7m50s8m8m10s