335f4e52

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 0s 1s 1s 2s 0s
Eval 13s 11s 11s 24s 11s
Build 23s 6m41s 2m12s 2m36s 18s
Suite 0s 6m53s 2m35s 2m36s 30s

Timeline

0s20s50s1m1m10s1m20s1m30s1m40s1m50s2m2m10s2m20s2m30s