451fd308

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

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.
The failure mode of matching exception dates on resolved instants is
excluding too much, so pin an EXDATE that names an instant which is not
an instance.  This passes today and has to keep passing.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config - - - - 16m14s
Eval - - - - -
Build - - - - -
Suite - - - - 16m14s