592f4470

ical-recurrence: test that a date-valued RecurrenceDateTimes does not fail unfixably

Unlike DTEND, the value type of RDATE is not constrained to that of
DTSTART: RFC 5545 section 3.8.5.2 allows DATE and PERIOD as well as the
default DATE-TIME.

Combined with a DTEND, a date-valued RDATE reaches computeNewEnd with a
DateTimeStartDate as the new start and a DateTimeStartDateTime as the
original one, which is an unfixable StartStartMismatch.  That error is
documented in ICal.Recurrence.Class as an internal error that should not
happen, yet it is reachable from ordinary parsed input and it halts
recurrence for the whole calendar.

Reading the added instance as an all-day one is what its value type
says.  Coercing it to a time on that day would be defensible too;
failing the whole calendar is not.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 7s 4s 4s 12s 7s
Eval 1m04s 10s 10s 1m15s 51s
Build 1m14s 2m26s - - 10m58s
Suite 7s 2m41s - - 4h10m42s

Timeline

0s10s1m10s11m50s12m12m10s12m20s12m30s