f166b6e4

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

Committer: Tom Sydney Kerckhove <NorfairKing@users.noreply.github.com>

ical-recurrence: say what the limit actually bounds

recurEvents said "up to a given limit", which reads as though nothing it
returns can lie beyond the limit.  That is not what it does, and on
reflection not what it should do.

The limit exists because a recurrence rule can be infinite, so the rules
are expanded only as far as it reaches.  Everything else in a recurrence
set is finite already: DTSTART is one instance, and the RDATEs enumerate
theirs.  recurRecurrenceDateTimes is not even passed the limit, and
DTSTART is inserted whatever it says.  Leaving either out because it falls
beyond an argument this library invented would discard what the calendar
actually said.

So this is the documentation being wrong rather than the behaviour, and
the fix is to the documentation.  Three tests pin the distinction, so that
the next reader finds it asserted rather than having to infer it:
an RDATE beyond the limit is kept, a DTSTART beyond the limit is kept, and
a rule is bounded by it.

No behaviour changes here.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 1s 1s 1s 0s
Eval 1s 11s 11s 12s 0s
Build 12s 3m02s 1m34s 1m47s 39s
Suite 0s 3m15s 1m47s 1m47s 40s

Timeline

0s10s1m1m10s1m20s1m30s1m40s