The following data and/or links have been contributed by various parties (as noted) to assist with interopability testing of calendaring and scheduling applications and implementations. Please send any contributions to this page to firstname.lastname@example.org. We will be happy to either provide a link to your material on your page, or put the material on our own site and link to it here. In either case please include sufficient explanation and documentation.
From Grisha Yakushev, Google, June 2014
This file contains RECUR (http://tools.ietf.org/html/rfc5545#section-3.3.10) expansions to synchronize recurrence implementations, especially with regards to the RSCALE specification. This particular version refers to http://tools.ietf.org/html/draft-ietf-calext-rscale-04 version of the draft, and it will be updated here with any changes to these documents.
Changes for the latest version:
1. Changed the SKIP behavior
2. Added a few tricky cases that verify the order of calculations<
The iCalendar (RFC 5545) RRULE component provides rich functionality and requires non-trivial implementation, and the RSCALE draft (support for recurrences in non-Gregorian calendars) further extends this functionality, making implementation even more complex. Despite our best effort, in some cases the wording may look ambiguous, or there may be variants of a particular calendaring system, leading to variations in a particular RRULE expansion. This situation presents a challenge because it is important for different implementations to agree on when a particular recurrence happens. A specific instance should happen at the same time for all participants regardless of device, client or server they are using. This file may be used as a testing aid, to provide some degree of assurance that at least for these RRULEs all our implementations agree on when instances happen.
If you want to add more tricky RRULEs to it or make a correction please contact Contact for rscale_golden.txt.
From Cyrus Daboo, Apple, May 2012:
CalDAV Test Suite and Load Simulation Tool provided as part of the Darwin Calendar Server.
From Bernard Desruisseaux, Oracle, February 2009:
This matrix provides interoperability results for 16 common recurrence rule patterns that can be generated by many calendar applications. The matrix currently provides results for the following calendar applications: Microsoft Outlook 2003, Mozilla Lightning 0.9, Apple iCal 3.0.6 and Zimbra 4.5.
From TC MOBILE, August 2007, updated August 2008:
The Mobile Calendar Interoperability Test Suite describes a test suite to assess a mobile device's capability to synchronize calendar data with a calendar store.
From Mikeal Rogers, OSAF, September 2006:
Olson-convert is a command line datetime conversion utility with support for iCalendar (RFC 2445) conversion that uses the Olson database for timezone offsets.
From Pat Egen, CalConnect IOP Manager, December 2005:
These are the matrices for the iCalendar/iMIP/iTIP RFCs and for the CalDAV Version 8 Draft calendar access protocol (respectively) to be used as a validation source during interoperability testing. These matrices were used in the January 2006 CalConnect Interopability Event.
From Pat Egen, CalConnect IOP Manager, September 2005:
These are the matrices for the iCalendar/iMIP/iTIP RFCs and for the CalDAV Draft calendar access protocol (respectively) to be used as a validation source during interoperability testing. These matrices are as used in the September 2005 CalConnect Interopability Event.
From Chris Stoner, IBM Lotus, September 2005:
Tests of iCalendar Recurrence Rules, from the Recurrence Technical Committee.
From Simon Vaillancourt, Oracle, June 2005:
CalDAV Test script used during the CalConnect Interoperability Event, June, 2005.
From Cyrus Daboo, Isamet, February 2005:
This contains all the recurrence examples from 2445 Section 22.214.171.124 in one .ics file. The SUMMARY of each item indicates the example number in order from that section. The DESCRIPTION is the description from 2445 for each example. Note that some examples have a couple of variants and these are indicated by additional letters in the numbering (e.g. 05a 05b etc). Most of the examples use start dates in 1997, but there are some unbounded examples that will fill up the calendar display e.g. 'Every 20 minutes from 9:00 AM to 4:40 PM every day'.
(2) Pay Day Example
This contains a single recurring event that uses a BYSETPOS. It corresponds to 'the last weekday in the month'.