7d54c712

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 37s 1s 1s 38s 37s
Eval 2m47s 11s 11s 2m59s 2m09s
Build 1h51m06s 1m46s - - 1h48m34s
Suite 37s 1m59s - - 6h27m57s

Timeline

0s2m50s1h51m1h51m1h51m1h51m1h51m1h52m