<!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" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { 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, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#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>
<title>[2262] CalDAVTester/trunk</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.macosforge.org/projects/calendarserver/changeset/2262">2262</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2008-03-28 09:43:35 -0700 (Fri, 28 Mar 2008)</dd>
</dl>

<h3>Log Message</h3>
<pre>Test to make sure only valid utf-8 calendar data is processed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#CalDAVTestertrunkscriptstestsnonasciixml">CalDAVTester/trunk/scripts/tests/nonascii.xml</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#CalDAVTestertrunkResourcenonascii10ics">CalDAVTester/trunk/Resource/nonascii/10.ics</a></li>
<li><a href="#CalDAVTestertrunkResourcenonascii11ics">CalDAVTester/trunk/Resource/nonascii/11.ics</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalDAVTestertrunkResourcenonascii10ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/nonascii/10.ics (0 => 2262)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/nonascii/10.ics                                (rev 0)
+++ CalDAVTester/trunk/Resource/nonascii/10.ics        2008-03-28 16:43:35 UTC (rev 2262)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:\xD4test\xD5
+UID:54E181BC7CCC373042B28842@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourcenonascii11ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/nonascii/11.ics (0 => 2262)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/nonascii/11.ics                                (rev 0)
+++ CalDAVTester/trunk/Resource/nonascii/11.ics        2008-03-28 16:43:35 UTC (rev 2262)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:\xD4test\xD5
+UID:54E181BC7CCC373042B28842@ninevah.local
+ORGANIZER;CN=User 01:$cuaddr1:
+ATTENDEE;CN=User 02:$cuaddr2:
+ATTENDEE;CN=User 03:$cuaddr3:
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsnonasciixml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/nonascii.xml (2261 => 2262)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/nonascii.xml        2008-03-28 16:30:27 UTC (rev 2261)
+++ CalDAVTester/trunk/scripts/tests/nonascii.xml        2008-03-28 16:43:35 UTC (rev 2262)
</span><span class="lines">@@ -23,7 +23,12 @@
</span><span class="cx"> &lt;caldavtest&gt;
</span><span class="cx">         &lt;description&gt;Test use of UTF-8 for HTTP and calendar data&lt;/description&gt;
</span><span class="cx"> 
</span><del>-        &lt;start/&gt;
</del><ins>+        &lt;start&gt;
+                &lt;request end-delete=&quot;yes&quot;&gt;
+                        &lt;method&gt;MKCOL&lt;/method&gt;
+                        &lt;ruri&gt;$pathprefix:/collection/&lt;/ruri&gt;
+                &lt;/request&gt;
+        &lt;/start&gt;
</ins><span class="cx">         
</span><span class="cx">         &lt;test-suite name='MKCALENDAR' ignore=&quot;yes&quot;&gt;
</span><span class="cx">                 &lt;test name='1'&gt;
</span><span class="lines">@@ -376,6 +381,145 @@
</span><span class="cx">                 &lt;/test&gt;
</span><span class="cx">         &lt;/test-suite&gt;
</span><span class="cx">         
</span><ins>+        &lt;test-suite name='Non-utf-8 calendar data' ignore=&quot;no&quot;&gt;
+                &lt;test name='1'&gt;
+                        &lt;description&gt;PUT with non-utf-8 data without charset&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;PUT&lt;/method&gt;
+                                &lt;ruri&gt;nonutf8.ics&lt;/ruri&gt;
+                                &lt;data&gt;
+                                        &lt;content-type&gt;text/calendar&lt;/content-type&gt;
+                                        &lt;filepath&gt;Resource/nonascii/10.ics&lt;/filepath&gt;
+                                &lt;/data&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+                &lt;test name='2'&gt;
+                        &lt;description&gt;PUT with non-utf-8 data with utf-8 charset&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;PUT&lt;/method&gt;
+                                &lt;ruri&gt;nonutf8.ics&lt;/ruri&gt;
+                                &lt;data&gt;
+                                        &lt;content-type&gt;text/calendar; charset=utf-8&lt;/content-type&gt;
+                                        &lt;filepath&gt;Resource/nonascii/10.ics&lt;/filepath&gt;
+                                &lt;/data&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+                &lt;test name='3'&gt;
+                        &lt;description&gt;PUT with non-utf-8 data with non-utf-8 charset&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;PUT&lt;/method&gt;
+                                &lt;ruri&gt;nonutf8.ics&lt;/ruri&gt;
+                                &lt;data&gt;
+                                        &lt;content-type&gt;text/calendar; charset=iso-8859-1&lt;/content-type&gt;
+                                        &lt;filepath&gt;Resource/nonascii/10.ics&lt;/filepath&gt;
+                                &lt;/data&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+        &lt;/test-suite&gt;
+
+        &lt;test-suite name='Copy/Move Non-utf-8 calendar data' ignore=&quot;no&quot;&gt;
+                &lt;test name='1'&gt;
+                        &lt;description&gt;PUT with non-utf-8 data to regular collection&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;PUT&lt;/method&gt;
+                                &lt;ruri&gt;$pathprefix:/collection/nonutf8.ics&lt;/ruri&gt;
+                                &lt;data&gt;
+                                        &lt;content-type&gt;text/calendar&lt;/content-type&gt;
+                                        &lt;filepath&gt;Resource/nonascii/10.ics&lt;/filepath&gt;
+                                &lt;/data&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;statusCode&lt;/callback&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+                &lt;test name='2'&gt;
+                        &lt;description&gt;COPY non-utf-8 data to calendar collection&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;COPY&lt;/method&gt;
+                                &lt;header&gt;
+                                        &lt;name&gt;Destination&lt;/name&gt;
+                                        &lt;value&gt;$host:$calendarpath1:/copy1.ics&lt;/value&gt;
+                                &lt;/header&gt;
+                                &lt;ruri&gt;$pathprefix:/collection/nonutf8.ics&lt;/ruri&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+                &lt;test name='3'&gt;
+                        &lt;description&gt;MOVE non-utf-8 data to calendar collection&lt;/description&gt;
+                        &lt;request end-delete=&quot;yes&quot;&gt;
+                                &lt;method&gt;MOVE&lt;/method&gt;
+                                &lt;header&gt;
+                                        &lt;name&gt;Destination&lt;/name&gt;
+                                        &lt;value&gt;$host:$calendarpath1:/copy1.ics&lt;/value&gt;
+                                &lt;/header&gt;
+                                &lt;ruri&gt;$pathprefix:/collection/nonutf8.ics&lt;/ruri&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+        &lt;/test-suite&gt;
+
+        &lt;test-suite name=&quot;POSTs&quot; ignore='no'&gt;
+                &lt;test name='1'&gt;
+                        &lt;description&gt;POST with non-utf-8 data&lt;/description&gt;
+                        &lt;request print-response='no'&gt;
+                                &lt;method&gt;POST&lt;/method&gt;
+                                &lt;header&gt;
+                                        &lt;name&gt;Originator&lt;/name&gt;
+                                        &lt;value&gt;$cuaddr1:&lt;/value&gt;
+                                &lt;/header&gt;
+                                &lt;header&gt;
+                                        &lt;name&gt;Recipient&lt;/name&gt;
+                                        &lt;value&gt;$cuaddr2:, $cuaddr3:&lt;/value&gt;
+                                &lt;/header&gt;
+                                &lt;ruri&gt;$pathprefix:/$outbox:/&lt;/ruri&gt;
+                                &lt;data&gt;
+                                        &lt;content-type&gt;text/calendar; charset=utf-8&lt;/content-type&gt;
+                                        &lt;filepath&gt;Resource/nonascii/11.ics&lt;/filepath&gt;
+                                &lt;/data&gt;
+                                &lt;verify&gt;
+                                        &lt;callback&gt;prepostcondition&lt;/callback&gt;
+                                        &lt;arg&gt;
+                                                &lt;name&gt;error&lt;/name&gt;
+                                                &lt;value&gt;urn:ietf:params:xml:ns:caldavvalid-calendar-data&lt;/value&gt;
+                                        &lt;/arg&gt;
+                                &lt;/verify&gt;
+                        &lt;/request&gt;
+                &lt;/test&gt;
+        &lt;/test-suite&gt;
+
</ins><span class="cx">         &lt;end/&gt;
</span><span class="cx">         
</span><span class="cx"> &lt;/caldavtest&gt;
</span></span></pre>
</div>
</div>

</body>
</html>