Fixed bug 1850510: missing recurrence exception event
The old code skipped an exception if the original recurrence instance
wasn't present. The benefit of this is that exceptions will disappear
as soon as a recurrence is deleted or truncated. (After talking to the
server, the exception will be tombstoned, so this is an optimization.)
The problem with the old code is if the original recurrence instance is
outside the expansion window, it will not be present in the list, so the
exception will be erroneously dropped.
This fix just removes the code to drop exceptions when the original instance
is not present. If the old behavior is desirable, the code will need to
expand the original recurrence around the original instance time (not the
current window) to see if it is present.
This change also adds a couple additional regression tests. It also changes
an existing test to add the server-side cancel message (since otherwise the
test won't pass after this change). Some additional logging is added to
the unittest when the test fails.
2 files changed