c8bcc26e

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

ical-recurrence: test that an instance in a daylight saving time gap is ignored

The TODO in ICal.Recurrence quotes this requirement but it is not
implemented.

On the 27th of March 2022 the local time in Zurich jumps from 02:00 to
03:00, so 02:30 does not exist on that day and a daily 02:30 event has
no instance there.  One is produced anyway, and resolveLocalTime then
maps it to 00:30Z, which unresolves to 01:30 local: an hour that
appears nowhere in the calendar.

The ambiguous direction, where a local time occurs twice at the end of
daylight saving time, happens to behave sensibly already by picking the
earlier offset.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 13s 1s 1s 14s 13s
Eval 26s 3m07s 3m07s 3m33s 11s
Build 1h31m38s 3m58s - - 1h28m04s
Suite 13s 7m07s - - 8h40m05s

Timeline

0s1m2m3m1h32m1h33m