[CalendarServer-changes] [15130] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Thu Sep 17 11:04:16 PDT 2015
Revision: 15130
http://trac.calendarserver.org//changeset/15130
Author: cdaboo at apple.com
Date: 2015-09-17 11:04:16 -0700 (Thu, 17 Sep 2015)
Log Message:
-----------
New RSCALE tests.
Modified Paths:
--------------
CalDAVTester/trunk/README.txt
CalDAVTester/trunk/scripts/tests/CalDAV/rscale.xml
CalDAVTester/trunk/verifiers/freeBusy.py
Added Paths:
-----------
CalDAVTester/trunk/Resource/CalDAV/rscale/bad/
CalDAVTester/trunk/Resource/CalDAV/rscale/bad/1.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/bad/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/1.xml
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/3.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/4.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/5.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/1.xml
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/3.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/4.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/5.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/
CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/1.xml
CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/1.xml
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/3.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/4.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/5.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/1.xml
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/2.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/3.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/4.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/5.ics
CalDAVTester/trunk/Resource/CalDAV/rscale/supported/
CalDAVTester/trunk/Resource/CalDAV/rscale/supported/1.xml
Removed Paths:
-------------
CalDAVTester/trunk/Resource/CalDAV/rscale/1.ics
Modified: CalDAVTester/trunk/README.txt
===================================================================
--- CalDAVTester/trunk/README.txt 2015-09-17 17:55:04 UTC (rev 15129)
+++ CalDAVTester/trunk/README.txt 2015-09-17 18:04:16 UTC (rev 15130)
@@ -535,6 +535,10 @@
A set of iCalendar PERIOD values for FBTYPE=BUSY-UNAVAILABLE
periods expected in the response.
+ Argument: 'duration'
+ If present the period values being checked use duration rather then
+ end time.
+
Example:
<verify>
Deleted: CalDAVTester/trunk/Resource/CalDAV/rscale/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/1.ics 2015-09-17 17:55:04 UTC (rev 15129)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/1.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -1,12 +0,0 @@
-BEGIN:VCALENDAR
-VERSION:2.0
-PRODID:-//PYVOBJECT//NONSGML Version 1//EN
-BEGIN:VEVENT
-UID:$uid1:
-DTSTART;VALUE=DATE:$now.year.1:0427
-DURATION:P1DT
-DTSTAMP:20051222T205953Z
-SUMMARY:event 1
-RRULE:RSCALE=CHINESE;FREQ=YEARLY
-END:VEVENT
-END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/bad/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/bad/1.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/bad/1.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:$now.year.1:0427
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=FOOBAR;FREQ=YEARLY
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/bad/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/bad/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/bad/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:$now.year.1:0427
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=FOOBAR
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:free-busy-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<C:time-range start="20160101T000000Z" end="20170101T000000Z"/>
+</C:free-busy-query>
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160308
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;BYMONTHDAY=30;SKIP=OMIT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/3.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160308
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;BYMONTHDAY=30;SKIP=FORWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/4.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160308
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;BYMONTHDAY=30;SKIP=BACKWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthday/5.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160308
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;BYMONTHDAY=30
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:free-busy-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<C:time-range start="20160101T000000Z" end="20170101T000000Z"/>
+</C:free-busy-query>
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160109
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;SKIP=OMIT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/3.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160109
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;SKIP=FORWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/4.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160109
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY;SKIP=BACKWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/chinese/monthly/5.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160109
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=CHINESE;FREQ=MONTHLY
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:free-busy-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<C:time-range start="20150101T000000Z" end="20170101T000000Z"/>
+</C:free-busy-query>
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/ethiopic/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20140910
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=ETHIOPIC;FREQ=YEARLY;BYMONTH=13;BYMONTHDAY=-1;COUNT=6
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:free-busy-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<C:time-range start="20160101T000000Z" end="20170101T000000Z"/>
+</C:free-busy-query>
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160131
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=MONTHLY;SKIP=OMIT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/3.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160131
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=MONTHLY;SKIP=FORWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/4.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160131
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=MONTHLY;SKIP=BACKWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/monthly/5.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160131
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=MONTHLY
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:free-busy-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<C:time-range start="20160101T000000Z" end="20200601T000000Z"/>
+</C:free-busy-query>
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/2.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160229
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=OMIT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/3.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160229
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=FORWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/4.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160229
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=YEARLY;SKIP=BACKWARD
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/gregorian/yearly/5.ics 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;VALUE=DATE:20160229
+DURATION:P1DT
+DTSTAMP:20051222T205953Z
+SUMMARY:event 1
+RRULE:RSCALE=GREGORIAN;FREQ=YEARLY
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/rscale/supported/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/rscale/supported/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/rscale/supported/1.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<D:prop>
+<C:supported-rscale-set/>
+</D:prop>
+</D:propfind>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/rscale.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/rscale.xml 2015-09-17 17:55:04 UTC (rev 15129)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/rscale.xml 2015-09-17 18:04:16 UTC (rev 15130)
@@ -23,24 +23,109 @@
<require-feature>
<feature>caldav</feature>
+ <feature>rscale</feature>
</require-feature>
<start/>
- <test-suite name='PUT VEVENT'>
+ <test-suite name='PROPFIND supported-rscale-set'>
<test name='1'>
- <description>PUT event with RSCALE</description>
+ <description>PROPFIND on home resource</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/supported/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=GREGORIAN]</value>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=CHINESE]</value>
+ </arg>
+ </verify>
+ </request>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarpath1:/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/supported/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=GREGORIAN]</value>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=CHINESE]</value>
+ </arg>
+ </verify>
+ </request>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$inboxpath1:/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/supported/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=GREGORIAN]</value>
+ <value>$verify-property-prefix:/{$CALDAV:}supported-rscale-set/{$CALDAV:}supported-rscale[=CHINESE]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Bad data'>
+ <test name='1'>
+ <description>PUT event with invalid RSCALE value</description>
<request end-delete='yes'>
<method>PUT</method>
<ruri>$calendarpath1:/1.ics</ruri>
<data>
<content-type>text/calendar; charset=utf-8</content-type>
- <filepath>Resource/CalDAV/rscale/1.ics</filepath>
+ <filepath>Resource/CalDAV/rscale/bad/1.ics</filepath>
</data>
<verify>
<callback>prepostcondition</callback>
<arg>
<name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}supported-rscale</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>PUT event with invalid SKIP value</description>
+ <request>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/bad/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
<value>{urn:ietf:params:xml:ns:caldav}valid-calendar-data</value>
</arg>
</verify>
@@ -48,6 +133,676 @@
</test>
</test-suite>
+ <test-suite name='Gregorian Monthly Skip'>
+ <test name='1'>
+ <description>PUT event Gregorian;Monthly;SKIP=OMIT</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160131T000000Z/P1D</value>
+ <value>20160331T000000Z/P1D</value>
+ <value>20160531T000000Z/P1D</value>
+ <value>20160731T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20161031T000000Z/P1D</value>
+ <value>20161231T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>PUT event Gregorian;Monthly;SKIP=FORWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/3.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160131T000000Z/P1D</value>
+ <value>20160301T000000Z/P1D</value>
+ <value>20160331T000000Z/P1D</value>
+ <value>20160501T000000Z/P1D</value>
+ <value>20160531T000000Z/P1D</value>
+ <value>20160701T000000Z/P1D</value>
+ <value>20160731T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20161001T000000Z/P1D</value>
+ <value>20161031T000000Z/P1D</value>
+ <value>20161201T000000Z/P1D</value>
+ <value>20161231T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>PUT event Gregorian;Monthly;SKIP=BACKWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/4.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160131T000000Z/P1D</value>
+ <value>20160229T000000Z/P1D</value>
+ <value>20160331T000000Z/P1D</value>
+ <value>20160430T000000Z/P1D</value>
+ <value>20160531T000000Z/P1D</value>
+ <value>20160630T000000Z/P1D</value>
+ <value>20160731T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161031T000000Z/P1D</value>
+ <value>20161130T000000Z/P1D</value>
+ <value>20161231T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>PUT event Gregorian;Monthly;SKIP default</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/5.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160131T000000Z/P1D</value>
+ <value>20160331T000000Z/P1D</value>
+ <value>20160531T000000Z/P1D</value>
+ <value>20160731T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20161031T000000Z/P1D</value>
+ <value>20161231T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Gregorian Yearly Skip'>
+ <test name='1'>
+ <description>PUT event Gregorian;Yearly;SKIP=OMIT</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160229T000000Z/P1D</value>
+ <value>20200229T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>PUT event Gregorian;Yearly;SKIP=FORWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/3.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160229T000000Z/P1D</value>
+ <value>20170301T000000Z/P1D</value>
+ <value>20180301T000000Z/P1D</value>
+ <value>20190301T000000Z/P1D</value>
+ <value>20200229T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>PUT event Gregorian;Yearly;SKIP=BACKWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/4.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160229T000000Z/P1D</value>
+ <value>20170228T000000Z/P1D</value>
+ <value>20180228T000000Z/P1D</value>
+ <value>20190228T000000Z/P1D</value>
+ <value>20200229T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>PUT event Gregorian;Yearly;SKIP default</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/5.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/gregorian/yearly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160229T000000Z/P1D</value>
+ <value>20200229T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Chinese Monthly Skip'>
+ <test name='1'>
+ <description>PUT event Chinese;Monthly;SKIP=OMIT</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160109T000000Z/P1D</value>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>PUT event Chinese;Monthly;SKIP=FORWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/3.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160109T000000Z/P1D</value>
+ <value>20160208T000000Z/P1D</value>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160407T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160605T000000Z/P1D</value>
+ <value>20160704T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160901T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161129T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>PUT event Chinese;Monthly;SKIP=BACKWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/4.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160109T000000Z/P1D</value>
+ <value>20160207T000000Z/P1D</value>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160406T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160604T000000Z/P1D</value>
+ <value>20160703T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161128T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>PUT event Chinese;Monthly;SKIP default</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/5.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthly/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160109T000000Z/P1D</value>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Chinese MonthDay Skip'>
+ <test name='1'>
+ <description>PUT event Chinese;MonthDay;SKIP=OMIT</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>PUT event Chinese;MonthDay;SKIP=FORWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/3.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160407T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160605T000000Z/P1D</value>
+ <value>20160704T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160901T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161129T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>PUT event Chinese;MonthDay;SKIP=BACKWARD</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/4.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160406T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160604T000000Z/P1D</value>
+ <value>20160703T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160831T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161128T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>PUT event Chinese;MonthDay;SKIP default</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/5.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/chinese/monthday/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20160308T000000Z/P1D</value>
+ <value>20160506T000000Z/P1D</value>
+ <value>20160802T000000Z/P1D</value>
+ <value>20160930T000000Z/P1D</value>
+ <value>20161030T000000Z/P1D</value>
+ <value>20161228T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Ethiopic, Last Day Of Year'>
+ <test name='1'>
+ <description>PUT event Ethipoic;Yearly;Month=13</description>
+ <request end-delete='yes'>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/ethiopic/2.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>REPORT</method>
+ <ruri>$calendarpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/rscale/ethiopic/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>duration</name>
+ </arg>
+ <arg>
+ <name>busy</name>
+ <value>20150911T000000Z/P1D</value>
+ <value>20160910T000000Z/P1D</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
<end/>
</caldavtest>
Modified: CalDAVTester/trunk/verifiers/freeBusy.py
===================================================================
--- CalDAVTester/trunk/verifiers/freeBusy.py 2015-09-17 17:55:04 UTC (rev 15129)
+++ CalDAVTester/trunk/verifiers/freeBusy.py 2015-09-17 18:04:16 UTC (rev 15130)
@@ -33,6 +33,7 @@
busy = args.get("busy", [])
tentative = args.get("tentative", [])
unavailable = args.get("unavailable", [])
+ duration = args.get("duration") is not None
# Parse data as calendar object
try:
@@ -58,7 +59,7 @@
periods = fp.getValue().getValues()
# Convert start/duration to start/end
for i in range(len(periods)):
- periods[i].getValue().setUseDuration(False)
+ periods[i].getValue().setUseDuration(duration)
# Check param
fbtype = "BUSY"
if fp.hasParameter("FBTYPE"):
@@ -93,7 +94,7 @@
# Compare all periods
if len(busyp.symmetric_difference(busy)):
- raise ValueError("Busy periods do not match")
+ raise ValueError("Busy periods do not match: {}".format(busyp.symmetric_difference(busy)))
elif len(tentativep.symmetric_difference(tentative)):
raise ValueError("Busy-tentative periods do not match")
elif len(unavailablep.symmetric_difference(unavailable)):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150917/cc34f574/attachment-0001.html>
More information about the calendarserver-changes
mailing list