summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2011-08-29 14:58:51 +0200
committerPatrick Ohly <patrick.ohly@intel.com>2011-08-29 14:58:51 +0200
commitfeb4e2ce2a8a2d7b879c649a27b336819c73f506 (patch)
tree3c14257f8b5969ef45d0700d3d185f9e6b8b780f /test
parent6aad9a4cd4086831d1fd92be5e7d9f20d50a3bd9 (diff)
testing: LinkedItems_1 with "exchange" server: recurring all-day event
RFC 5545 and RFC 2445 both specify that RECURRENCE-ID must be VALUE=DATE if the recurring component uses that. I wrote a variation of the LinkedItems tests which are meant cover this. When run with CLIENT_TEST_SERVER=exchange, LinkedItems_1 will use a weekly recurring all-day event as parent with one exception in the second week.
Diffstat (limited to 'test')
-rw-r--r--test/ClientTest.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/ClientTest.cpp b/test/ClientTest.cpp
index 00dfa5b7..41c02f4a 100644
--- a/test/ClientTest.cpp
+++ b/test/ClientTest.cpp
@@ -4857,6 +4857,48 @@ void ClientTest::getTestData(const char *type, Config &config)
boost::replace_all(item, "TZNAME:CEST\n", "");
boost::replace_all(item, "X-LIC-LOCATION:Europe/Berlin\n", "");
}
+
+ // also test recurring all-day events with exceptions
+ config.linkedItems->resize(2);
+ (*config.linkedItems)[1].resize(2);
+ (*config.linkedItems)[1][0] =
+ "BEGIN:VCALENDAR\n"
+ "PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
+ "VERSION:2.0\n"
+ "BEGIN:VEVENT\n"
+ "UID:20110829T130000Z-19554-727-1-50@gollum\n"
+ "DTSTAMP:20080407T193125Z\n"
+ "DTSTART;VALUE=DATE:20080406\n"
+ "DTEND;VALUE=DATE:20080407\n"
+ "TRANSP:OPAQUE\n"
+ "SEQUENCE:XXX\n"
+ "SUMMARY:Recurring all day event\n"
+ "DESCRIPTION:recurs each Monday\\, 3 times\n"
+ "CLASS:PUBLIC\n"
+ "RRULE:FREQ=WEEKLY;UNTIL=20080420;INTERVAL=1;BYDAY=SU\n"
+ "CREATED:20080407T193241Z\n"
+ "LAST-MODIFIED:20080407T193241Z\n"
+ "END:VEVENT\n"
+ "END:VCALENDAR\n";
+ (*config.linkedItems)[1][1] =
+ "BEGIN:VCALENDAR\n"
+ "PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
+ "VERSION:2.0\n"
+ "BEGIN:VEVENT\n"
+ "UID:20110829T130000Z-19554-727-1-50@gollum\n"
+ "DTSTAMP:20080407T193125Z\n"
+ "DTSTART;VALUE=DATE:20080413\n"
+ "DTEND;VALUE=DATE:20080414\n"
+ "TRANSP:OPAQUE\n"
+ "SEQUENCE:XXX\n"
+ "SUMMARY:Recurring: Modified second instance\n"
+ "CLASS:PUBLIC\n"
+ "CREATED:20080407T193241Z\n"
+ "LAST-MODIFIED:20080407T193647Z\n"
+ "RECURRENCE-ID;VALUE=DATE:20080413\n"
+ "DESCRIPTION:second instance modified\n"
+ "END:VEVENT\n"
+ "END:VCALENDAR\n";
} else {
// in particular for Google Calendar: also try with
// VALARM, because testing showed that the server works