[CalendarServer-changes] [15176] CalDAVTester/branches/release/CalDAVTester-5.3-dev

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 13 08:58:37 PDT 2015


Revision: 15176
          http://trac.calendarserver.org//changeset/15176
Author:   cdaboo at apple.com
Date:     2015-10-13 08:58:37 -0700 (Tue, 13 Oct 2015)
Log Message:
-----------
Adjust tests for change to sync token.

Modified Paths:
--------------
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo-template.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sharing-notification-sync.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sync-report.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sharing-sync.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sync-report.xml
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/verifiers/multistatusItems.py

Added Paths:
-----------
    CalDAVTester/branches/release/CalDAVTester-5.3-dev/src/utils.py

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo-template.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo-template.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo-template.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -286,6 +286,24 @@
 			<value>freebusy</value>
 		</substitution>
 
+		<!-- Sync home collection items - use "-" to include the home resource-->
+		<substitution>
+			<key>$calendar_home_items_initial_sync:</key>
+			<value>[-,$calendar:/,$tasks:/,$inbox:/,$outbox:/,$freebusy:,$notification:/]</value>
+		</substitution>
+
+		<!-- Sync collection extra items - use "-" to include the collection-->
+		<substitution>
+			<key>$calendar_sync_extra_items:</key>
+			<value>[-]</value>
+		</substitution>
+
+		<!-- Sync collection extra count - gets added to the totalcount value-->
+		<substitution>
+			<key>$calendar_sync_extra_count:</key>
+			<value>1</value> <!-- the request-uri resource is returned when no token passed-->
+		</substitution>
+
 		<!-- server-to-server inbox-->
 		<substitution>
 			<key>$servertoserver:</key>

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/server/serverinfo.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -286,6 +286,24 @@
 			<value>freebusy</value>
 		</substitution>
 
+		<!-- Sync home collection items - use "-" to include the home resource-->
+		<substitution>
+			<key>$calendar_home_items_initial_sync:</key>
+			<value>[-,$calendar:/,$tasks:/,$inbox:/,$outbox:/,$freebusy:,$notification:/]</value>
+		</substitution>
+
+		<!-- Sync collection extra items - use "-" to include the collection-->
+		<substitution>
+			<key>$calendar_sync_extra_items:</key>
+			<value>[-]</value>
+		</substitution>
+
+		<!-- Sync collection extra count - gets added to the totalcount value-->
+		<substitution>
+			<key>$calendar_sync_extra_count:</key>
+			<value>1</value> <!-- the request-uri resource is returned when no token passed-->
+		</substitution>
+
 		<!-- server-to-server inbox-->
 		<substitution>
 			<key>$servertoserver:</key>

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sharing-notification-sync.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sharing-notification-sync.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sharing-notification-sync.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -97,6 +97,7 @@
 					<arg>
 						<name>totalcount</name>
 						<value>0</value>
+						<value>$calendar_sync_extra_count:</value>
 					</arg>
 				</verify>
 				<grabelement>
@@ -123,6 +124,7 @@
 					<arg>
 						<name>totalcount</name>
 						<value>0</value>
+						<value>$calendar_sync_extra_count:</value>
 					</arg>
 				</verify>
 				<grabelement>
@@ -239,36 +241,12 @@
 					<filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>shared/</value>
+						<name>ignoremissing</name>
 					</arg>
 					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
 						<value>$notification:/</value>
 						<value>shared/</value>
 					</arg>
@@ -300,35 +278,12 @@
 					<filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<name>ignoremissing</name>
 					</arg>
 					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
 						<value>$notification:/</value>
 					</arg>
 					<arg>
@@ -466,6 +421,10 @@
 					<name>{DAV:}href</name>
 					<variable>$sharedcalendar:</variable>
 				</grabelement>
+				<grabelement>
+					<name>{DAV:}href</name>
+					<variable>basename($sharedcalendarbasename:)</variable>
+				</grabelement>
 			</request>
 		</test>
 		<test name='6' ignore='no'>
@@ -479,17 +438,18 @@
 				</header>
 				<data substitutions='yes'>
 					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/notification-sync/4.xml</filepath>
+					<filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
 				</data>
 				<verify>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>prefix</name>
-						<value/>
+						<name>okhrefs</name>
+						<value>$calendar_home_items_initial_sync:</value>
+						<value>$sharedcalendarbasename:/</value>
 					</arg>
 					<arg>
-						<name>okhrefs</name>
-						<value>$sharedcalendar:/</value>
+						<name>badhrefs</name>
+						<value>$dropbox:/</value>
 					</arg>
 				</verify>
 				<grabelement>
@@ -662,6 +622,10 @@
 					<name>{DAV:}href</name>
 					<variable>$sharedcalendar:</variable>
 				</grabelement>
+				<grabelement>
+					<name>{DAV:}href</name>
+					<variable>basename($sharedcalendarbasename:)</variable>
+				</grabelement>
 			</request>
 		</test>
 		<test name='6' ignore='no'>
@@ -675,17 +639,18 @@
 				</header>
 				<data substitutions='yes'>
 					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/notification-sync/4.xml</filepath>
+					<filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
 				</data>
 				<verify>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>prefix</name>
-						<value/>
+						<name>okhrefs</name>
+						<value>$calendar_home_items_initial_sync:</value>
+						<value>$sharedcalendarbasename:/</value>
 					</arg>
 					<arg>
-						<name>okhrefs</name>
-						<value>$sharedcalendar:/</value>
+						<name>badhrefs</name>
+						<value>$dropbox:/</value>
 					</arg>
 				</verify>
 				<grabelement>
@@ -896,6 +861,10 @@
 					<name>{DAV:}href</name>
 					<variable>$sharedcalendar:</variable>
 				</grabelement>
+				<grabelement>
+					<name>{DAV:}href</name>
+					<variable>basename($sharedcalendarbasename:)</variable>
+				</grabelement>
 			</request>
 		</test>
 		<test name='6' ignore='no'>
@@ -909,18 +878,19 @@
 				</header>
 				<data substitutions='yes'>
 					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/notification-sync/4.xml</filepath>
+					<filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
 				</data>
 				<verify>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>prefix</name>
-						<value/>
+						<name>okhrefs</name>
+						<value>$calendar_home_items_initial_sync:</value>
+						<value>$sharedcalendarbasename:/</value>
+						<value>$sharedcalendarbasename:/1.ics</value>
 					</arg>
 					<arg>
-						<name>okhrefs</name>
-						<value>$sharedcalendar:/</value>
-						<value>$sharedcalendar:/1.ics</value>
+						<name>badhrefs</name>
+						<value>$dropbox:/</value>
 					</arg>
 				</verify>
 				<grabelement>

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sync-report.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sync-report.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CalDAV/sync-report.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -257,17 +257,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -276,27 +269,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='2' ignore='no'>
@@ -316,17 +288,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -335,27 +300,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='3' ignore='no'>
@@ -375,17 +319,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -394,27 +331,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='4' ignore='no'>
@@ -434,17 +350,10 @@
 					<filepath>Resource/CalDAV/reports/sync/9.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -457,31 +366,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='5' ignore='no'>
@@ -501,17 +385,10 @@
 					<filepath>Resource/CalDAV/reports/sync/9.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -524,31 +401,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='6' ignore='no'>
@@ -568,17 +420,10 @@
 					<filepath>Resource/CalDAV/reports/sync/9.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -591,31 +436,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='7' ignore='no'>
@@ -635,6 +455,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -661,6 +482,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -687,6 +509,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -713,6 +536,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -739,6 +563,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -765,6 +590,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -813,6 +639,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -836,17 +663,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -855,27 +675,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='3' ignore='no'>
@@ -895,17 +694,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -918,31 +710,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='4' ignore='no'>
@@ -976,6 +743,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 						<value>3.ics</value>
@@ -1000,17 +768,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -1019,27 +780,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='7' ignore='no'>
@@ -1059,17 +799,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -1083,32 +816,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar1/3.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='8' ignore='no'>
@@ -1138,6 +845,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1161,17 +869,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -1180,27 +881,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='11' ignore='no'>
@@ -1220,17 +900,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -1243,31 +916,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='12' ignore='no'>
@@ -1301,6 +949,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1324,17 +973,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar2/</value>
 					</arg>
@@ -1343,27 +985,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar2/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 		<test name='15' ignore='no'>
@@ -1383,17 +1004,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar1/</value>
 						<value>synccalendar1/1.ics</value>
 						<value>synccalendar1/2.ics</value>
@@ -1406,31 +1020,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar1/</value>
-						<value>synccalendar1/1.ics</value>
-						<value>synccalendar1/2.ics</value>
-						<value>synccalendar2/</value>
-						<value>synccalendar2/1.ics</value>
-						<value>synccalendar2/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 			</request>
 		</test>
 	</test-suite>
@@ -1453,6 +1042,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1634,6 +1224,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1676,6 +1267,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 						<value>3.ics</value>
@@ -1715,6 +1307,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1757,6 +1350,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -1791,6 +1385,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.ics</value>
 						<value>2.ics</value>
 					</arg>
@@ -2058,17 +1653,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar3/1.ics</value>
 						<value>synccalendar3/2.ics</value>
@@ -2081,31 +1669,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar3/1.ics</value>
-						<value>synccalendar3/2.ics</value>
-						<value>synccalendar4/</value>
-						<value>synccalendar4/1.ics</value>
-						<value>synccalendar4/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -2293,17 +1856,10 @@
 					<filepath>Resource/CalDAV/reports/sync/5.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar3/1.ics</value>
 						<value>synccalendar3/2.ics</value>
@@ -2317,31 +1873,6 @@
 					</arg>
 				</verify>
 				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar3/1.ics</value>
-						<value>synccalendar3/2.ics</value>
-						<value>synccalendar4/</value>
-						<value>synccalendar4/1.ics</value>
-						<value>synccalendar4/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
-				<verify>
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
@@ -2574,17 +2105,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar3/1.ics</value>
 						<value>synccalendar3/2.ics</value>
@@ -2597,31 +2121,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar3/1.ics</value>
-						<value>synccalendar3/2.ics</value>
-						<value>synccalendar4/</value>
-						<value>synccalendar4/1.ics</value>
-						<value>synccalendar4/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -2790,17 +2289,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 					</arg>
@@ -2809,27 +2301,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -3007,17 +2478,10 @@
 					<filepath>Resource/CalDAV/reports/sync/14.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 					</arg>
@@ -3027,27 +2491,6 @@
 					</arg>
 				</verify>
 				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
-				<verify>
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
@@ -3270,17 +2713,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 					</arg>
@@ -3289,27 +2725,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -3427,6 +2842,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 					</arg>
 				</verify>
 			</request>
@@ -3476,17 +2892,10 @@
 					<filepath>Resource/CalDAV/reports/sync/2.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 						<value>synccalendar4/1.ics</value>
@@ -3497,29 +2906,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-						<value>synccalendar4/1.ics</value>
-						<value>synccalendar4/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -3634,17 +3020,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 					</arg>
@@ -3653,27 +3032,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -3789,17 +3147,10 @@
 					<filepath>Resource/CalDAV/reports/sync/8.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
 						<value>synccalendar3/</value>
 						<value>synccalendar4/</value>
 					</arg>
@@ -3808,27 +3159,6 @@
 						<value>$dropbox:/</value>
 					</arg>
 				</verify>
-				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-						<value>$freebusy:</value>
-						<value>$notification:/</value>
-						<value>synccalendar3/</value>
-						<value>synccalendar4/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
 				<grabelement>
 					<name>/{DAV:}multistatus/{DAV:}sync-token</name>
 					<variable>$synctoken1:</variable>
@@ -3951,18 +3281,12 @@
 					<filepath>Resource/CalDAV/reports/sync/22.xml</filepath>
 				</data>
 				<verify>
-					<exclude-feature>
-						<feature>split-calendars</feature>
-					</exclude-feature>
 					<callback>multistatusItems</callback>
 					<arg>
-						<name>ignoremissing</name>
-					</arg>
-					<arg>
 						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
+						<value>$calendar_home_items_initial_sync:</value>
+						<value>synccalendar3/</value>
+						<value>synccalendar4/</value>
 					</arg>
 					<arg>
 						<name>badhrefs</name>
@@ -3970,26 +3294,6 @@
 					</arg>
 				</verify>
 				<verify>
-					<require-feature>
-						<feature>split-calendars</feature>
-					</require-feature>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>ignoremissing</name>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$calendar:/</value>
-						<value>$tasks:/</value>
-						<value>$inbox:/</value>
-						<value>$outbox:/</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$dropbox:/</value>
-					</arg>
-				</verify>
-				<verify>
 					<callback>dataString</callback>
 					<arg>
 						<name>contains</name>

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sharing-sync.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sharing-sync.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sharing-sync.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -1102,6 +1102,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1128,6 +1129,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1154,6 +1156,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1180,6 +1183,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1210,6 +1214,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1240,6 +1245,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1267,6 +1273,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1293,6 +1300,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1319,6 +1327,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1345,6 +1354,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1371,6 +1381,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1397,6 +1408,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1445,6 +1457,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1471,6 +1484,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1497,6 +1511,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1538,6 +1553,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 						<value>3.vcf</value>
@@ -1565,6 +1581,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1591,6 +1608,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1629,6 +1647,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1655,6 +1674,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1681,6 +1701,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1722,6 +1743,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1748,6 +1770,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid2:/</value>
 					</arg>
@@ -1774,6 +1797,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1804,6 +1828,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1985,6 +2010,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -2027,6 +2053,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 						<value>3.vcf</value>
@@ -2066,6 +2093,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -2108,6 +2136,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -2142,6 +2171,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -2500,6 +2530,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid3:/1.vcf</value>
@@ -2699,6 +2730,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid3:/1.vcf</value>
@@ -2937,6 +2969,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid3:/1.vcf</value>
@@ -3226,6 +3259,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid4:/</value>
@@ -3411,6 +3445,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid4:/</value>
@@ -3635,6 +3670,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid4:/</value>
@@ -3847,6 +3883,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid4:/</value>
@@ -3971,6 +4008,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$userid3:/</value>
 						<value>$userid4:/</value>

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sync-report.xml
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sync-report.xml	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/scripts/tests/CardDAV/sync-report.xml	2015-10-13 15:58:37 UTC (rev 15176)
@@ -193,6 +193,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -219,6 +220,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 					</arg>
 				</verify>
@@ -244,6 +246,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -282,6 +285,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 						<value>3.vcf</value>
@@ -309,6 +313,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 					</arg>
 				</verify>
@@ -334,6 +339,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -369,6 +375,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -395,6 +402,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 					</arg>
 				</verify>
@@ -420,6 +428,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -458,6 +467,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -484,6 +494,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 					</arg>
 				</verify>
@@ -509,6 +520,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -536,6 +548,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -717,6 +730,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -759,6 +773,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 						<value>3.vcf</value>
@@ -798,6 +813,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -840,6 +856,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -874,6 +891,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>1.vcf</value>
 						<value>2.vcf</value>
 					</arg>
@@ -1116,6 +1134,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>
@@ -1311,6 +1330,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
+						<value>$calendar_sync_extra_items:</value>
 						<value>$addressbook:/</value>
 						<value>$addressbook:/1.vcf</value>
 						<value>$addressbook:/2.vcf</value>

Added: CalDAVTester/branches/release/CalDAVTester-5.3-dev/src/utils.py
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/src/utils.py	                        (rev 0)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/src/utils.py	2015-10-13 15:58:37 UTC (rev 15176)
@@ -0,0 +1,40 @@
+##
+# Copyright (c) 2015 Apple Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##
+
+def processHrefSubstitutions(hrefs, prefix):
+    """
+    Process the list of hrefs by prepending the supplied prefix. If the href is a
+    list of hrefs, then prefix each item in the list and expand into the results. The
+    empty string is represented by a single "-" in an href list.
+
+    @param hrefs: list of URIs to process
+    @type hrefs: L{list} of L{str}
+    @param prefix: prefix to apply to each URI
+    @type prefix: L{str}
+
+    @return: resulting list of URIs
+    @rtype: L{list} of L{str}
+    """
+
+    results = []
+    for href in hrefs:
+        if href.startswith("["):
+            children = href[1:-1].split(",")
+            results.extend([(prefix + (i if i != "-" else "")).rstrip("/") for i in children if i])
+        else:
+            results.append((prefix + href).rstrip("/"))
+
+    return results

Modified: CalDAVTester/branches/release/CalDAVTester-5.3-dev/verifiers/multistatusItems.py
===================================================================
--- CalDAVTester/branches/release/CalDAVTester-5.3-dev/verifiers/multistatusItems.py	2015-10-09 03:18:36 UTC (rev 15175)
+++ CalDAVTester/branches/release/CalDAVTester-5.3-dev/verifiers/multistatusItems.py	2015-10-13 15:58:37 UTC (rev 15176)
@@ -13,15 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ##
-import urllib
 
 """
 Verifier that checks a multistatus response to make sure that the specified hrefs
 are returned with appropriate status codes.
 """
 
+from src.utils import processHrefSubstitutions
 from xml.etree.ElementTree import ElementTree
 from StringIO import StringIO
+import urllib
 
 class Verifier(object):
 
@@ -47,12 +48,9 @@
             prefix = prefix[0] if prefix[0] != "-" else ""
         else:
             prefix = uri
-        okhrefs = [prefix + i for i in okhrefs]
-        nohrefs = [prefix + i for i in nohrefs]
-        badhrefs = [prefix + i for i in badhrefs]
-        for k, v in args.items():
-            v = [prefix + i for i in v]
-            args[k] = v
+        okhrefs = processHrefSubstitutions(okhrefs, prefix)
+        nohrefs = processHrefSubstitutions(nohrefs, prefix)
+        badhrefs = processHrefSubstitutions(badhrefs, prefix)
         count = [int(eval(i)) for i in count]
         totalcount = [int(eval(i)) for i in totalcount]
         responsecount = [int(eval(i)) for i in responsecount]
@@ -86,7 +84,7 @@
             href = response.findall("{DAV:}href")
             if href is None or len(href) != 1:
                 return False, "        Incorrect/missing DAV:Href element in response"
-            href = urllib.unquote(href[0].text)
+            href = urllib.unquote(href[0].text).rstrip("/")
 
             # Verify status
             status = response.findall("{DAV:}status")
@@ -130,7 +128,10 @@
             return result, resulttxt
 
         # Check for total count
-        if len(totalcount) == 1:
+        if len(totalcount) > 0:
+            # Add the 2nd value to the 1st if it exists
+            if len(totalcount) == 2:
+                totalcount[0] += totalcount[1]
             if len(ok_result_set) != totalcount[0]:
                 result = False
                 resulttxt += "        %d items returned, but %d items expected" % (len(ok_result_set), totalcount[0],)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20151013/4a3b5891/attachment-0001.html>


More information about the calendarserver-changes mailing list