<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[11915] CalDAVTester/trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.calendarserver.org//changeset/11915">11915</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2013-11-08 12:38:45 -0800 (Fri, 08 Nov 2013)</dd>
</dl>
<h3>Log Message</h3>
<pre>Update to new pycalendar api. Add tests for vpoll (currently not enabled).</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfopodxml">CalDAVTester/trunk/scripts/server/serverinfo-pod.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfotemplatexml">CalDAVTester/trunk/scripts/server/serverinfo-template.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfoxml">CalDAVTester/trunk/scripts/server/serverinfo.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCalDAVimplicitdefaultcalendarxml">CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCalDAVsharingnotificationsyncxml">CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCalDAVsyncreportxml">CalDAVTester/trunk/scripts/tests/CalDAV/sync-report.xml</a></li>
<li><a href="#CalDAVTestertrunksrccaldavtestpy">CalDAVTester/trunk/src/caldavtest.py</a></li>
<li><a href="#CalDAVTestertrunkverifiersaddressDataMatchpy">CalDAVTester/trunk/verifiers/addressDataMatch.py</a></li>
<li><a href="#CalDAVTestertrunkverifierscalendarDataMatchpy">CalDAVTester/trunk/verifiers/calendarDataMatch.py</a></li>
<li><a href="#CalDAVTestertrunkverifiersfreeBusypy">CalDAVTester/trunk/verifiers/freeBusy.py</a></li>
<li><a href="#CalDAVTestertrunkverifierspostFreeBusypy">CalDAVTester/trunk/verifiers/postFreeBusy.py</a></li>
<li><a href="#CalDAVTestertrunkverifiersxmlElementMatchpy">CalDAVTester/trunk/verifiers/xmlElementMatch.py</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>CalDAVTester/trunk/Resource/CalDAV/polls/</li>
<li>CalDAVTester/trunk/Resource/CalDAV/polls/put/</li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollsput1ics">CalDAVTester/trunk/Resource/CalDAV/polls/put/1.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollsput2ics">CalDAVTester/trunk/Resource/CalDAV/polls/put/2.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollsput3ics">CalDAVTester/trunk/Resource/CalDAV/polls/put/3.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollsput4ics">CalDAVTester/trunk/Resource/CalDAV/polls/put/4.ics</a></li>
<li>CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/</li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollssupportedcomponentset1xml">CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/1.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpollssupportedcomponentset2xml">CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/2.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCalDAVpollsxml">CalDAVTester/trunk/scripts/tests/CalDAV/polls.xml</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalDAVTestertrunkResourceCalDAVpollsput1ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/put/1.ics (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/put/1.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/put/1.ics        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VPOLL
+UID:put-1@example.com
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:poll 1
+END:VPOLL
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpollsput2ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/put/2.ics (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/put/2.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/put/2.ics        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VPOLL
+UID:put-1@example.com
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:poll 1
+END:VPOLL
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpollsput3ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/put/3.ics (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/put/3.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/put/3.ics        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VPOLL
+UID:put-2@example.com
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+POLL-MODE:BASIC
+POLL-PROPERTIES:DTSTART,DTEND
+SUMMARY:poll 1
+BEGIN:VEVENT
+UID:event-1@example.com
+DTSTART;VALUE=DATE:20130101
+DTEND;VALUE=DATE:20130102
+DTSTAMP:20020101T000000Z
+POLL-ITEM-ID:1
+SUMMARY:Party option #1
+END:VEVENT
+BEGIN:VEVENT
+UID:event-2@example.com
+DTSTART;VALUE=DATE:20130201
+DTEND;VALUE=DATE:20130202
+DTSTAMP:20020101T000000Z
+POLL-ITEM-ID:2
+SUMMARY:Party option #2
+END:VEVENT
+END:VPOLL
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpollsput4ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/put/4.ics (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/put/4.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/put/4.ics        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VPOLL
+UID:put-2@example.com
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+POLL-MODE:BASIC
+POLL-PROPERTIES:DTSTART,DTEND
+SUMMARY:poll 1
+BEGIN:VEVENT
+UID:event-1@example.com
+DTSTART;VALUE=DATE:20130101
+DTEND;VALUE=DATE:20130102
+DTSTAMP:20020101T000000Z
+POLL-ITEM-ID:1
+SUMMARY:Party option #1
+END:VEVENT
+BEGIN:VEVENT
+UID:event-2@example.com
+DTSTART;VALUE=DATE:20130201
+DTEND;VALUE=DATE:20130202
+DTSTAMP:20020101T000000Z
+POLL-ITEM-ID:2
+SUMMARY:Party option #2
+END:VEVENT
+END:VPOLL
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpollssupportedcomponentset1xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/1.xml (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/1.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/1.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<D:prop>
+<C:supported-calendar-component-sets/>
+</D:prop>
+</D:propfind>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpollssupportedcomponentset2xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/2.xml (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/2.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/polls/supported-component-set/2.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
+<D:prop>
+<C:supported-calendar-component-set/>
+</D:prop>
+</D:propfind>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfopodxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo-pod.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo-pod.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/server/serverinfo-pod.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -103,6 +103,7 @@
</span><span class="cx">                 <feature>timezone-service</feature>                                <!-- Timezone service extension for Wiki -->
</span><span class="cx">                 <feature>timezone-std-service</feature>                        <!-- Timezone standard service extension -->
</span><span class="cx">                 <feature>vavailability</feature>                                <!-- VAVAILABILITY on inbox -->
</span><ins>+                <!-- <feature>vpoll</feature> -->                                <!-- VPOLL support for store and scheduling -->
</ins><span class="cx">                 <feature>webcal</feature>                                                <!-- Internet calendar subscription via GET on calendar collection -->
</span><span class="cx">
</span><span class="cx">                 <!-- CardDAV specific extension -->
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfotemplatexml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo-template.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo-template.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/server/serverinfo-template.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -98,6 +98,7 @@
</span><span class="cx">                 <feature>timezone-service</feature>                                <!-- Timezone service extension for Wiki -->
</span><span class="cx">                 <feature>timezone-std-service</feature>                        <!-- Timezone standard service extension -->
</span><span class="cx">                 <feature>vavailability</feature>                                <!-- VAVAILABILITY on inbox -->
</span><ins>+                <!-- <feature>vpoll</feature> -->                                <!-- VPOLL support for store and scheduling -->
</ins><span class="cx">                 <feature>webcal</feature>                                                <!-- Internet calendar subscription via GET on calendar collection -->
</span><span class="cx">
</span><span class="cx">                 <!-- CardDAV specific extension -->
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfoxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/server/serverinfo.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -98,6 +98,7 @@
</span><span class="cx">                 <feature>timezone-service</feature>                                <!-- Timezone service extension for Wiki -->
</span><span class="cx">                 <feature>timezone-std-service</feature>                        <!-- Timezone standard service extension -->
</span><span class="cx">                 <feature>vavailability</feature>                                <!-- VAVAILABILITY on inbox -->
</span><ins>+                <!-- <feature>vpoll</feature> -->                                <!-- VPOLL support for store and scheduling -->
</ins><span class="cx">                 <feature>webcal</feature>                                                <!-- Internet calendar subscription via GET on calendar collection -->
</span><span class="cx">
</span><span class="cx">                 <!-- CardDAV specific extension -->
</span><span class="lines">@@ -248,6 +249,12 @@
</span><span class="cx">                         <value>tasks</value>
</span><span class="cx">                 </substitution>
</span><span class="cx">
</span><ins>+                <!-- primary polls-only calendar name-->
+                <substitution>
+                        <key>$polls:</key>
+                        <value>polls</value>
+                </substitution>
+
</ins><span class="cx">                 <!-- inbox name-->
</span><span class="cx">                 <substitution>
</span><span class="cx">                         <key>$inbox:</key>
</span><span class="lines">@@ -485,6 +492,11 @@
</span><span class="cx">                                 <key>$taskspath%d:</key>
</span><span class="cx">                                 <value>$calendarhome%d:/$tasks:</value>
</span><span class="cx">                         </substitution>
</span><ins>+                        <!-- relative path to user polls calendar-->
+                        <substitution>
+                                <key>$pollspath%d:</key>
+                                <value>$calendarhome%d:/$polls:</value>
+                        </substitution>
</ins><span class="cx">                         <!-- relative path to user inbox-->
</span><span class="cx">                         <substitution>
</span><span class="cx">                                 <key>$inboxpath%d:</key>
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCalDAVimplicitdefaultcalendarxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx">                                         </arg>
</span><span class="cx">                                         <arg>
</span><span class="cx">                                                 <name>nohrefs</name>
</span><del>-                                                <value>events/</value>
</del><ins>+                                                <value>$calendar:/</value>
</ins><span class="cx">                                         </arg>
</span><span class="cx">                                 </verify>
</span><span class="cx">                         </request>
</span><span class="lines">@@ -424,7 +424,7 @@
</span><span class="cx">                                         </arg>
</span><span class="cx">                                         <arg>
</span><span class="cx">                                                 <name>okhrefs</name>
</span><del>-                                                <value>events/</value>
</del><ins>+                                                <value>$calendar:/</value>
</ins><span class="cx">                                         </arg>
</span><span class="cx">                                 </verify>
</span><span class="cx">                         </request>
</span><span class="lines">@@ -433,7 +433,7 @@
</span><span class="cx">                         <description>Attendee has data</description>
</span><span class="cx">                         <request user="$userid10:" pswd="$pswd10:" print-response='no'>
</span><span class="cx">                                 <method>GETNEW</method>
</span><del>-                                <ruri>$calendarhome10:/events/</ruri>
</del><ins>+                                <ruri>$calendarpath10:/</ruri>
</ins><span class="cx">                                 <verify>
</span><span class="cx">                                         <callback>calendarDataMatch</callback>
</span><span class="cx">                                         <arg>
</span><span class="lines">@@ -451,7 +451,7 @@
</span><span class="cx">                         </request>
</span><span class="cx">                         <request user="$userid10:" pswd="$pswd10:">
</span><span class="cx">                                 <method>DELETEALL</method>
</span><del>-                                <ruri>$calendarhome10:/events/</ruri>
</del><ins>+                                <ruri>$calendarpath10:/</ruri>
</ins><span class="cx">                         </request>
</span><span class="cx">                         <request user="$userid1:" pswd="$pswd1:">
</span><span class="cx">                                 <method>DELETEALL</method>
</span><span class="lines">@@ -461,14 +461,6 @@
</span><span class="cx">                                 <method>DELETEALL</method>
</span><span class="cx">                                 <ruri>$inboxpath10:/</ruri>
</span><span class="cx">                         </request>
</span><del>-                        <request user="$userid10:" pswd="$pswd10:" print-response='no'>
-                                <method>MKCALENDAR</method>
-                                <ruri>$calendarpath10:/</ruri>
-                        </request>
-                        <request user="$userid10:" pswd="$pswd10:">
-                                <method>DELETE</method>
-                                <ruri>$calendarhome10:/events/</ruri>
-                        </request>
</del><span class="cx">                 </test>
</span><span class="cx">         </test-suite>
</span><span class="cx">         
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCalDAVpollsxml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests/CalDAV/polls.xml (0 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CalDAV/polls.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/polls.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -0,0 +1,171 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<caldavtest>
+        <description>Test PUT method in CalDAV</description>
+
+        <require-feature>
+                <feature>caldav</feature>
+                <feature>vpoll</feature>
+        </require-feature>
+
+        <start/>
+
+        <test-suite name='supported-component-set'>
+                <test name='1'>
+                        <require-feature>
+                                <feature>supported-component-sets</feature>
+                        </require-feature>
+                        <description>Check calendar home for property</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/polls/supported-component-set/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <exclude-feature>
+                                                <feature>supported-component-sets-one</feature>
+                                        </exclude-feature>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{urn:ietf:params:xml:ns:caldav}supported-calendar-component-sets$</value>
+                                        </arg>
+                                </verify>
+                                <verify>
+                                        <require-feature>
+                                                <feature>supported-component-sets-one</feature>
+                                        </require-feature>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-sets/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VEVENT"]</value>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-sets/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VTODO"]</value>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-sets/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VPOLL"]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Check calendar for property</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pollspath1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/polls/supported-component-set/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <require-feature>
+                                                <feature>exclude-calendars</feature>
+                                        </require-feature>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VEVENT"]</value>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VTODO"]</value>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VPOLL"]</value>
+                                        </arg>
+                                </verify>
+                                <verify>
+                                        <require-feature>
+                                                <feature>split-calendars</feature>
+                                        </require-feature>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VPOLL"]</value>
+                                        </arg>
+                                        <arg>
+                                                <name>notexists</name>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VEVENT"]</value>
+                                                <value>$verify-property-prefix:/{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set/{urn:ietf:params:xml:ns:caldav}comp[@name="VTODO"]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT VPOLL' ignore='no'>
+                <test name='1' ignore='no'>
+                        <description>PUT unscheduled empty poll</description>
+                        <request end-delete='yes'>
+                                <method>PUT</method>
+                                <ruri>$pollspath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/polls/put/1.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>GET</method>
+                                <ruri>$pollspath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/polls/put/2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2' ignore='no'>
+                        <description>PUT unscheduled event poll</description>
+                        <request end-delete='yes'>
+                                <method>PUT</method>
+                                <ruri>$pollspath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/polls/put/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>GET</method>
+                                <ruri>$pollspath1:/2.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/polls/put/4.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <end/>
+        
+</caldavtest>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCalDAVsharingnotificationsyncxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -239,36 +239,12 @@
</span><span class="cx">                                         <filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
</span><span class="cx">                                 </data>
</span><span class="cx">                                 <verify>
</span><del>-                                        <exclude-feature>
-                                                <feature>split-calendars</feature>
-                                        </exclude-feature>
</del><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><del>-                                                <name>okhrefs</name>
-                                                <value>$calendar:/</value>
-                                                <value>$inbox:/</value>
-                                                <value>$outbox:/</value>
-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
-                                                <value>shared/</value>
</del><ins>+                                                <name>ignoremissing</name>
</ins><span class="cx">                                         </arg>
</span><span class="cx">                                         <arg>
</span><del>-                                                <name>badhrefs</name>
-                                                <value>$dropbox:/</value>
-                                        </arg>
-                                </verify>
-                                <verify>
-                                        <require-feature>
-                                                <feature>split-calendars</feature>
-                                        </require-feature>
-                                        <callback>multistatusItems</callback>
-                                        <arg>
</del><span class="cx">                                                 <name>okhrefs</name>
</span><del>-                                                <value>$calendar:/</value>
-                                                <value>$tasks:/</value>
-                                                <value>$inbox:/</value>
-                                                <value>$outbox:/</value>
-                                                <value>$freebusy:</value>
</del><span class="cx">                                                 <value>$notification:/</value>
</span><span class="cx">                                                 <value>shared/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -300,35 +276,12 @@
</span><span class="cx">                                         <filepath>Resource/CalDAV/sharing/notification-sync/2.xml</filepath>
</span><span class="cx">                                 </data>
</span><span class="cx">                                 <verify>
</span><del>-                                        <exclude-feature>
-                                                <feature>split-calendars</feature>
-                                        </exclude-feature>
</del><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><del>-                                                <name>okhrefs</name>
-                                                <value>$calendar:/</value>
-                                                <value>$inbox:/</value>
-                                                <value>$outbox:/</value>
-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><ins>+                                                <name>ignoremissing</name>
</ins><span class="cx">                                         </arg>
</span><span class="cx">                                         <arg>
</span><del>-                                                <name>badhrefs</name>
-                                                <value>$dropbox:/</value>
-                                        </arg>
-                                </verify>
-                                <verify>
-                                        <require-feature>
-                                                <feature>split-calendars</feature>
-                                        </require-feature>
-                                        <callback>multistatusItems</callback>
-                                        <arg>
</del><span class="cx">                                                 <name>okhrefs</name>
</span><del>-                                                <value>$calendar:/</value>
-                                                <value>$tasks:/</value>
-                                                <value>$inbox:/</value>
-                                                <value>$outbox:/</value>
-                                                <value>$freebusy:</value>
</del><span class="cx">                                                 <value>$notification:/</value>
</span><span class="cx">                                         </arg>
</span><span class="cx">                                         <arg>
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCalDAVsyncreportxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sync-report.xml (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CalDAV/sync-report.xml        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sync-report.xml        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -262,12 +262,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -282,13 +283,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -321,12 +323,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -341,13 +344,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -380,12 +384,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -400,13 +405,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -439,12 +445,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -463,13 +470,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -506,12 +514,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -530,13 +539,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -573,12 +583,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -597,13 +608,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -841,12 +853,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -861,13 +874,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -900,12 +914,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -924,13 +939,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1005,12 +1021,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1025,13 +1042,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1064,12 +1082,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1089,13 +1108,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1166,12 +1186,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1186,13 +1207,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1225,12 +1247,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1249,13 +1272,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1329,12 +1353,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1349,13 +1374,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar2/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -1388,12 +1414,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -1412,13 +1439,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar1/</value>
</span><span class="cx">                                                 <value>synccalendar1/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar1/2.ics</value>
</span><span class="lines">@@ -2063,12 +2091,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2087,13 +2116,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2298,12 +2328,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2322,13 +2353,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2579,12 +2611,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2603,13 +2636,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar3/1.ics</value>
</span><span class="cx">                                                 <value>synccalendar3/2.ics</value>
</span><span class="lines">@@ -2795,12 +2829,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -2815,13 +2850,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3012,12 +3048,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3032,13 +3069,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3275,12 +3313,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3295,13 +3334,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3481,12 +3521,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                                 <value>synccalendar4/1.ics</value>
</span><span class="lines">@@ -3503,13 +3544,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                                 <value>synccalendar4/1.ics</value>
</span><span class="lines">@@ -3639,12 +3681,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3659,13 +3702,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3794,12 +3838,13 @@
</span><span class="cx">                                         </exclude-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span><span class="lines">@@ -3814,13 +3859,14 @@
</span><span class="cx">                                         </require-feature>
</span><span class="cx">                                         <callback>multistatusItems</callback>
</span><span class="cx">                                         <arg>
</span><ins>+                                                <name>ignoremissing</name>
+                                        </arg>
+                                        <arg>
</ins><span class="cx">                                                 <name>okhrefs</name>
</span><span class="cx">                                                 <value>$calendar:/</value>
</span><span class="cx">                                                 <value>$tasks:/</value>
</span><span class="cx">                                                 <value>$inbox:/</value>
</span><span class="cx">                                                 <value>$outbox:/</value>
</span><del>-                                                <value>$freebusy:</value>
-                                                <value>$notification:/</value>
</del><span class="cx">                                                 <value>synccalendar3/</value>
</span><span class="cx">                                                 <value>synccalendar4/</value>
</span><span class="cx">                                         </arg>
</span></span></pre></div>
<a id="CalDAVTestertrunksrccaldavtestpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/caldavtest.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/caldavtest.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/src/caldavtest.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx"> """
</span><span class="cx">
</span><span class="cx"> from cStringIO import StringIO
</span><del>-from pycalendar.calendar import PyCalendar
</del><ins>+from pycalendar.icalendar.calendar import Calendar
</ins><span class="cx"> from src.httpshandler import SmartHTTPConnection
</span><span class="cx"> from src.manager import manager
</span><span class="cx"> from src.request import data, pause
</span><span class="lines">@@ -916,7 +916,7 @@
</span><span class="cx"> prop = self._calProperty(propertyname, respdata)
</span><span class="cx">
</span><span class="cx"> try:
</span><del>- return prop.getAttributeValue(pname) if prop else None
</del><ins>+ return prop.getParameterValue(pname) if prop else None
</ins><span class="cx"> except KeyError:
</span><span class="cx"> return None
</span><span class="cx">
</span><span class="lines">@@ -924,7 +924,7 @@
</span><span class="cx"> def _calProperty(self, propertyname, respdata):
</span><span class="cx">
</span><span class="cx"> try:
</span><del>- cal = PyCalendar.parseText(respdata)
</del><ins>+ cal = Calendar.parseText(respdata)
</ins><span class="cx"> except Exception:
</span><span class="cx"> return None
</span><span class="cx">
</span></span></pre></div>
<a id="CalDAVTestertrunkverifiersaddressDataMatchpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/addressDataMatch.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/addressDataMatch.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/verifiers/addressDataMatch.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -73,8 +73,8 @@
</span><span class="cx"> if ":" in filter:
</span><span class="cx"> propname, parameter = filter.split(":")
</span><span class="cx"> if property.getName() == propname:
</span><del>- if property.hasAttribute(parameter):
- property.removeAttributes(parameter)
</del><ins>+ if property.hasParameter(parameter):
+ property.removeParameters(parameter)
</ins><span class="cx"> else:
</span><span class="cx"> if property.getName() == filter:
</span><span class="cx"> component.removeProperty(property)
</span></span></pre></div>
<a id="CalDAVTestertrunkverifierscalendarDataMatchpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/calendarDataMatch.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/calendarDataMatch.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/verifiers/calendarDataMatch.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -15,8 +15,8 @@
</span><span class="cx"> ##
</span><span class="cx">
</span><span class="cx"> from difflib import unified_diff
</span><del>-from pycalendar.calendar import PyCalendar
-from pycalendar.attribute import PyCalendarAttribute
</del><ins>+from pycalendar.icalendar.calendar import Calendar
+from pycalendar.parameter import Parameter
</ins><span class="cx">
</span><span class="cx"> """
</span><span class="cx"> Verifier that checks the response body for a semantic match to data in a file.
</span><span class="lines">@@ -99,25 +99,25 @@
</span><span class="cx"> for property in allProps:
</span><span class="cx"> # Always reset DTSTAMP on these properties
</span><span class="cx"> if property.getName() in ("ATTENDEE", "X-CALENDARSERVER-ATTENDEE-COMMENT"):
</span><del>- if property.hasAttribute("X-CALENDARSERVER-DTSTAMP"):
- property.replaceAttribute(PyCalendarAttribute("X-CALENDARSERVER-DTSTAMP", "20080101T000000Z"))
</del><ins>+ if property.hasParameter("X-CALENDARSERVER-DTSTAMP"):
+ property.replaceParameter(Parameter("X-CALENDARSERVER-DTSTAMP", "20080101T000000Z"))
</ins><span class="cx">
</span><span class="cx"> for filter in filters:
</span><span class="cx"> if ":" in filter:
</span><span class="cx"> propname, parameter = filter.split(":")
</span><span class="cx"> if property.getName() == propname:
</span><del>- if property.hasAttribute(parameter):
- property.removeAttributes(parameter)
</del><ins>+ if property.hasParameter(parameter):
+ property.removeParameters(parameter)
</ins><span class="cx"> else:
</span><span class="cx"> if property.getName() == filter:
</span><span class="cx"> component.removeProperty(property)
</span><span class="cx">
</span><span class="cx"> try:
</span><del>- resp_calendar = PyCalendar.parseText(respdata)
</del><ins>+ resp_calendar = Calendar.parseText(respdata)
</ins><span class="cx"> removePropertiesParameters(resp_calendar)
</span><span class="cx"> respdata = resp_calendar.getText()
</span><span class="cx">
</span><del>- data_calendar = PyCalendar.parseText(data)
</del><ins>+ data_calendar = Calendar.parseText(data)
</ins><span class="cx"> removePropertiesParameters(data_calendar)
</span><span class="cx"> data = data_calendar.getText()
</span><span class="cx">
</span></span></pre></div>
<a id="CalDAVTestertrunkverifiersfreeBusypy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/freeBusy.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/freeBusy.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/verifiers/freeBusy.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx"> Verifier that checks the response of a free-busy-query.
</span><span class="cx"> """
</span><span class="cx">
</span><del>-from pycalendar.calendar import PyCalendar
-from pycalendar.exceptions import PyCalendarInvalidData
</del><ins>+from pycalendar.icalendar.calendar import Calendar
+from pycalendar.exceptions import InvalidData
</ins><span class="cx">
</span><span class="cx"> class Verifier(object):
</span><span class="cx">
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">
</span><span class="cx"> # Parse data as calendar object
</span><span class="cx"> try:
</span><del>- calendar = PyCalendar.parseText(respdata)
</del><ins>+ calendar = Calendar.parseText(respdata)
</ins><span class="cx">
</span><span class="cx"> # Check for calendar
</span><span class="cx"> if calendar is None:
</span><span class="lines">@@ -61,8 +61,8 @@
</span><span class="cx"> periods[i].getValue().setUseDuration(False)
</span><span class="cx"> # Check param
</span><span class="cx"> fbtype = "BUSY"
</span><del>- if fp.hasAttribute("FBTYPE"):
- fbtype = fp.getAttributeValue("FBTYPE")
</del><ins>+ if fp.hasParameter("FBTYPE"):
+ fbtype = fp.getParameterValue("FBTYPE")
</ins><span class="cx"> if fbtype == "BUSY":
</span><span class="cx"> busyp.extend(periods)
</span><span class="cx"> elif fbtype == "BUSY-TENTATIVE":
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> elif len(unavailablep.symmetric_difference(unavailable)):
</span><span class="cx"> raise ValueError("Busy-unavailable periods do not match")
</span><span class="cx">
</span><del>- except PyCalendarInvalidData:
</del><ins>+ except InvalidData:
</ins><span class="cx"> return False, " HTTP response data is not a calendar"
</span><span class="cx"> except ValueError, txt:
</span><span class="cx"> return False, " HTTP response data is invalid: %s" % (txt,)
</span></span></pre></div>
<a id="CalDAVTestertrunkverifierspostFreeBusypy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/postFreeBusy.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/postFreeBusy.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/verifiers/postFreeBusy.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx"> Verifier that checks the response of a free-busy-query.
</span><span class="cx"> """
</span><span class="cx">
</span><del>-from pycalendar.calendar import PyCalendar
-from pycalendar.exceptions import PyCalendarInvalidData
</del><ins>+from pycalendar.icalendar.calendar import Calendar
+from pycalendar.exceptions import InvalidData
</ins><span class="cx"> from xml.etree.ElementTree import ElementTree
</span><span class="cx"> from xml.parsers.expat import ExpatError
</span><span class="cx"> import StringIO
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> for calendar in tree.findall("./{urn:ietf:params:xml:ns:caldav}response/{urn:ietf:params:xml:ns:caldav}calendar-data"):
</span><span class="cx"> # Parse data as calendar object
</span><span class="cx"> try:
</span><del>- calendar = PyCalendar.parseText(calendar.text)
</del><ins>+ calendar = Calendar.parseText(calendar.text)
</ins><span class="cx">
</span><span class="cx"> # Check for calendar
</span><span class="cx"> if calendar is None:
</span><span class="lines">@@ -80,8 +80,8 @@
</span><span class="cx"> periods[i].getValue().setUseDuration(False)
</span><span class="cx"> # Check param
</span><span class="cx"> fbtype = "BUSY"
</span><del>- if fp.hasAttribute("FBTYPE"):
- fbtype = fp.getAttributeValue("FBTYPE")
</del><ins>+ if fp.hasParameter("FBTYPE"):
+ fbtype = fp.getParameterValue("FBTYPE")
</ins><span class="cx"> if fbtype == "BUSY":
</span><span class="cx"> busyp.extend(periods)
</span><span class="cx"> elif fbtype == "BUSY-TENTATIVE":
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">
</span><span class="cx"> break
</span><span class="cx">
</span><del>- except PyCalendarInvalidData:
</del><ins>+ except InvalidData:
</ins><span class="cx"> return False, " HTTP response data is not a calendar"
</span><span class="cx"> except ValueError, txt:
</span><span class="cx"> return False, " HTTP response data is invalid: %s" % (txt,)
</span></span></pre></div>
<a id="CalDAVTestertrunkverifiersxmlElementMatchpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/xmlElementMatch.py (11914 => 11915)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/xmlElementMatch.py        2013-11-08 20:35:58 UTC (rev 11914)
+++ CalDAVTester/trunk/verifiers/xmlElementMatch.py        2013-11-08 20:38:45 UTC (rev 11915)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx"> Verifier that checks the response body for an exact match to data in a file.
</span><span class="cx"> """
</span><span class="cx">
</span><del>-from pycalendar.calendar import PyCalendar
</del><ins>+from pycalendar.icalendar.calendar import Calendar
</ins><span class="cx"> from xml.etree.ElementTree import ElementTree
</span><span class="cx"> import json
</span><span class="cx"> import StringIO
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx"> # Try to parse as iCalendar
</span><span class="cx"> elif test == 'icalendar':
</span><span class="cx"> try:
</span><del>- PyCalendar.parseText(node.text)
</del><ins>+ Calendar.parseText(node.text)
</ins><span class="cx"> except:
</span><span class="cx"> result = " Incorrect value returned in iCalendar for %s\n" % (path,)
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>