5use PHPUnit\Framework\TestCase;
10 use VObject\PHPUnitAssertions;
16<?xml version=
"1.0" encoding=
"UTF-8"?>
17<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
21 <text>GREGORIAN</text>
34 <date-time>2008-02-05T19:12:24Z</date-time>
37 <date>2008-10-06</date>
40 <text>Planning meeting</text>
43 <text>4088E990AD89CB3DBB484909</text>
52 'BEGIN:VCALENDAR' .
"\n" .
54 'VERSION:2.0' .
"\n" .
55 'CALSCALE:GREGORIAN' .
"\n" .
56 'PRODID:-//Example Inc.//Example Calendar//EN' .
"\n" .
57 'BEGIN:VEVENT' .
"\n" .
58 'DTSTAMP:20080205T191224Z' .
"\n" .
59 'DTSTART;VALUE=DATE:20081006' .
"\n" .
60 'SUMMARY:Planning meeting' .
"\n" .
61 'UID:4088E990AD89CB3DBB484909' .
"\n" .
63 'END:VCALENDAR' .
"\n"
71<?xml version=
"1.0" encoding=
"UTF-8" ?>
72<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
86 <date-time>2004-01-10T03:28:45Z</date-time>
88 <tzid><text>US/Eastern</text></tzid>
94 <date-time>2000-04-04T02:00:00</date-time>
107 <utc-offset>-05:00</utc-offset>
110 <utc-offset>-04:00</utc-offset>
117 <date-time>2000-10-26T02:00:00</date-time>
123 <bymonth>10</bymonth>
130 <utc-offset>-04:00</utc-offset>
133 <utc-offset>-05:00</utc-offset>
142 <date-time>2006-02-06T00:11:21Z</date-time>
146 <tzid><text>US/Eastern</text></tzid>
148 <date-time>2006-01-02T12:00:00</date-time>
151 <duration>PT1H</duration>
161 <tzid><text>US/Eastern</text></tzid>
164 <start>2006-01-02T15:00:00</start>
165 <duration>PT2H</duration>
169 <text>Event #2</text>
172 <text>We are having a meeting
all this week at 12
173pm
for one hour, with an additional meeting
on the first day
1742
hours long.
Please bring your own lunch
for the 12 pm
178 <text>00959BC664CA650E933C892C@example.com</text>
185 <date-time>2006-02-06T00:11:21Z</date-time>
189 <tzid><text>US/Eastern</text></tzid>
191 <date-time>2006-01-04T14:00:00</date-time>
194 <duration>PT1H</duration>
198 <tzid><text>US/Eastern</text></tzid>
200 <date-time>2006-01-04T12:00:00</date-time>
203 <text>Event #2 bis</text>
206 <text>00959BC664CA650E933C892C@example.com</text>
216 $this->assertVObjectEqualsVObject(
217 'BEGIN:VCALENDAR' .
"\n" .
218 'VERSION:2.0' .
"\n" .
219 'PRODID:-//Example Inc.//Example Client//EN' .
"\n" .
220 'BEGIN:VTIMEZONE' .
"\n" .
221 'LAST-MODIFIED:20040110T032845Z' .
"\n" .
222 'TZID:US/Eastern' .
"\n" .
223 'BEGIN:DAYLIGHT' .
"\n" .
224 'DTSTART:20000404T020000' .
"\n" .
225 'RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4' .
"\n" .
226 'TZNAME:EDT' .
"\n" .
227 'TZOFFSETFROM:-0500' .
"\n" .
228 'TZOFFSETTO:-0400' .
"\n" .
229 'END:DAYLIGHT' .
"\n" .
230 'BEGIN:STANDARD' .
"\n" .
231 'DTSTART:20001026T020000' .
"\n" .
232 'RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10' .
"\n" .
233 'TZNAME:EST' .
"\n" .
234 'TZOFFSETFROM:-0400' .
"\n" .
235 'TZOFFSETTO:-0500' .
"\n" .
236 'END:STANDARD' .
"\n" .
237 'END:VTIMEZONE' .
"\n" .
238 'BEGIN:VEVENT' .
"\n" .
239 'DTSTAMP:20060206T001121Z' .
"\n" .
240 'DTSTART;TZID=US/Eastern:20060102T120000' .
"\n" .
241 'DURATION:PT1H' .
"\n" .
242 'RRULE:FREQ=DAILY;COUNT=5' .
"\n" .
243 'RDATE;TZID=US/Eastern;VALUE=PERIOD:20060102T150000/PT2H' .
"\n" .
244 'SUMMARY:Event #2' .
"\n" .
245 'DESCRIPTION:We are having a meeting all this week at 12\npm for one hour\, ' .
"\n" .
246 ' with an additional meeting on the first day\n2 hours long.\nPlease bring y' .
"\n" .
247 ' our own lunch for the 12 pm\nmeetings.' .
"\n" .
248 'UID:00959BC664CA650E933C892C@example.com' .
"\n" .
249 'END:VEVENT' .
"\n" .
250 'BEGIN:VEVENT' .
"\n" .
251 'DTSTAMP:20060206T001121Z' .
"\n" .
252 'DTSTART;TZID=US/Eastern:20060104T140000' .
"\n" .
253 'DURATION:PT1H' .
"\n" .
254 'RECURRENCE-ID;TZID=US/Eastern:20060104T120000' .
"\n" .
255 'SUMMARY:Event #2 bis' .
"\n" .
256 'UID:00959BC664CA650E933C892C@example.com' .
"\n" .
257 'END:VEVENT' .
"\n" .
258 'END:VCALENDAR' .
"\n",
271<?xml version=
"1.0" encoding=
"UTF-8"?>
272<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
277 'BEGIN:VCALENDAR' .
"\n" .
278 'END:VCALENDAR' .
"\n"
289<?xml version=
"1.0" encoding=
"UTF-8"?>
290<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
306 'BEGIN:VCALENDAR' .
"\n" .
307 'BEGIN:VTIMEZONE' .
"\n" .
308 'END:VTIMEZONE' .
"\n" .
309 'BEGIN:VEVENT' .
"\n" .
310 'END:VEVENT' .
"\n" .
311 'BEGIN:VTODO' .
"\n" .
313 'BEGIN:VJOURNAL' .
"\n" .
314 'END:VJOURNAL' .
"\n" .
315 'BEGIN:VFREEBUSY' .
"\n" .
316 'END:VFREEBUSY' .
"\n" .
317 'BEGIN:STANDARD' .
"\n" .
318 'END:STANDARD' .
"\n" .
319 'BEGIN:DAYLIGHT' .
"\n" .
320 'END:DAYLIGHT' .
"\n" .
321 'BEGIN:VALARM' .
"\n" .
322 'END:VALARM' .
"\n" .
323 'END:VCALENDAR' .
"\n"
335<?xml version=
"1.0" encoding=
"UTF-8"?>
336<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
340 <latitude>37.386013</latitude>
341 <longitude>-122.082932</longitude>
348 'BEGIN:VCALENDAR' .
"\n" .
349 'GEO:37.386013;-122.082932' .
"\n" .
350 'END:VCALENDAR' .
"\n"
363<?xml version=
"1.0" encoding=
"UTF-8"?>
364<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
369 <description>Success</description>
376 'BEGIN:VCALENDAR' .
"\n" .
377 'REQUEST-STATUS:2.0;Success' .
"\n" .
378 'END:VCALENDAR' .
"\n"
384<?xml version=
"1.0" encoding=
"UTF-8"?>
385<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
390 <description>Invalid property value</description>
398 'BEGIN:VCALENDAR' .
"\n" .
399 'REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01' .
"\n" .
400 'END:VCALENDAR' .
"\n"
406<?xml version=
"1.0" encoding=
"UTF-8"?>
407<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
412 <description>Success, repeating event ignored. Scheduled as a single event.</description>
413 <
data>RRULE:FREQ=WEEKLY;INTERVAL=2</
data>
420 'BEGIN:VCALENDAR' .
"\n" .
421 'REQUEST-STATUS:2.8;Success\, repeating event ignored. Scheduled as a single' .
"\n" .
422 ' event.;RRULE:FREQ=WEEKLY\;INTERVAL=2' .
"\n" .
423 'END:VCALENDAR' .
"\n"
429<?xml version=
"1.0" encoding=
"UTF-8"?>
430<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
435 <description>Event conflict. Date-time is busy.</description>
442 'BEGIN:VCALENDAR' .
"\n" .
443 'REQUEST-STATUS:4.1;Event conflict. Date-time is busy.' .
"\n" .
444 'END:VCALENDAR' .
"\n"
450<?xml version=
"1.0" encoding=
"UTF-8"?>
451<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
456 <description>Invalid calendar user</description>
457 <
data>ATTENDEE:mailto:jsmith@example.com</
data>
464 'BEGIN:VCALENDAR' .
"\n" .
465 'REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:mailto:jsmith@example.com' .
"\n" .
466 'END:VCALENDAR' .
"\n"
478<?xml version=
"1.0" encoding=
"UTF-8"?>
479<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
483 <binary>SGVsbG8gV29ybGQh</binary>
490 'BEGIN:VCALENDAR' .
"\n" .
491 'ATTACH:SGVsbG8gV29ybGQh' .
"\n" .
492 'END:VCALENDAR' .
"\n"
498<?xml version=
"1.0" encoding=
"UTF-8"?>
499<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
503 <uri>SGVsbG8gV29ybGQh</uri>
510 'BEGIN:VCALENDAR' .
"\n" .
511 'ATTACH:SGVsbG8gV29ybGQh' .
"\n" .
512 'END:VCALENDAR' .
"\n"
524<?xml version=
"1.0" encoding=
"UTF-8"?>
525<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
530 <rsvp><
boolean>true</boolean></rsvp>
532 <cal-address>mailto:cyrus@example.com</cal-address>
539 'BEGIN:VCALENDAR' .
"\n" .
540 'ATTENDEE;RSVP=true:mailto:cyrus@example.com' .
"\n" .
541 'END:VCALENDAR' .
"\n"
553<?xml version=
"1.0" encoding=
"UTF-8"?>
554<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
558 <cal-address>mailto:cyrus@example.com</cal-address>
565 'BEGIN:VCALENDAR' .
"\n" .
566 'ATTENDEE:mailto:cyrus@example.com' .
"\n" .
567 'END:VCALENDAR' .
"\n"
579<?xml version=
"1.0" encoding=
"UTF-8"?>
580<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
584 <date>2011-05-17</date>
591 'BEGIN:VCALENDAR' .
"\n" .
592 'DTSTART;VALUE=DATE:20110517' .
"\n" .
593 'END:VCALENDAR' .
"\n"
605<?xml version=
"1.0" encoding=
"UTF-8"?>
606<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
610 <date-time>2011-05-17T12:00:00</date-time>
617 'BEGIN:VCALENDAR' .
"\n" .
618 'DTSTART:20110517T120000' .
"\n" .
619 'END:VCALENDAR' .
"\n"
631<?xml version=
"1.0" encoding=
"UTF-8"?>
632<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
636 <duration>P1D</duration>
643 'BEGIN:VCALENDAR' .
"\n" .
644 'DURATION:P1D' .
"\n" .
645 'END:VCALENDAR' .
"\n"
667<?xml version=
"1.0" encoding=
"UTF-8"?>
668<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
672 <integer>42</integer>
679 'BEGIN:VCALENDAR' .
"\n" .
681 'END:VCALENDAR' .
"\n"
686<?xml version=
"1.0" encoding=
"UTF-8"?>
687<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
691 <integer>-42</integer>
698 'BEGIN:VCALENDAR' .
"\n" .
700 'END:VCALENDAR' .
"\n"
712<?xml version=
"1.0" encoding=
"UTF-8"?>
713<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
718 <start>2011-05-17T12:00:00</start>
719 <duration>P1H</duration>
727 'BEGIN:VCALENDAR' .
"\n" .
728 'FREEBUSY:20110517T120000/P1H' .
"\n" .
729 'END:VCALENDAR' .
"\n"
734<?xml version=
"1.0" encoding=
"UTF-8"?>
735<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
740 <start>2011-05-17T12:00:00</start>
741 <end>2012-05-17T12:00:00</end>
749 'BEGIN:VCALENDAR' .
"\n" .
750 'FREEBUSY:20110517T120000/20120517T120000' .
"\n" .
751 'END:VCALENDAR' .
"\n"
763<?xml version=
"1.0" encoding=
"UTF-8"?>
764<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
772 <bymonth>10</bymonth>
780 'BEGIN:VCALENDAR' .
"\n" .
781 'RRULE:FREQ=YEARLY;COUNT=5;BYDAY=-1SU;BYMONTH=10' .
"\n" .
782 'END:VCALENDAR' .
"\n"
794<?xml version=
"1.0" encoding=
"UTF-8"?>
795<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
799 <text>GREGORIAN</text>
806 'BEGIN:VCALENDAR' .
"\n" .
807 'CALSCALE:GREGORIAN' .
"\n" .
808 'END:VCALENDAR' .
"\n"
820<?xml version=
"1.0" encoding=
"UTF-8"?>
821<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
825 <time>12:00:00</time>
832 'BEGIN:VCALENDAR' .
"\n" .
833 'FOO:120000' .
"\n" .
834 'END:VCALENDAR' .
"\n"
846<?xml version=
"1.0" encoding=
"UTF-8"?>
847<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
858 'BEGIN:VCALENDAR' .
"\n" .
859 'ATTACH:http://calendar.example.com' .
"\n" .
860 'END:VCALENDAR' .
"\n"
873<?xml version=
"1.0" encoding=
"UTF-8"?>
874<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
878 <utc-offset>-05:00</utc-offset>
885 'BEGIN:VCALENDAR' .
"\n" .
886 'TZOFFSETFROM:-0500' .
"\n" .
887 'END:VCALENDAR' .
"\n"
893<?xml version=
"1.0" encoding=
"UTF-8"?>
894<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
898 <utc-offset>+01:00</utc-offset>
905 'BEGIN:VCALENDAR' .
"\n" .
906 'TZOFFSETFROM:+0100' .
"\n" .
907 'END:VCALENDAR' .
"\n"
919<?xml version=
"1.0" encoding=
"UTF-8"?>
920<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
924 <unknown>20110512T120000Z</unknown>
931 'BEGIN:VCALENDAR' .
"\n" .
932 'X-PROPERTY:20110512T120000Z' .
"\n" .
933 'END:VCALENDAR' .
"\n"
938<?xml version=
"1.0" encoding=
"UTF-8"?>
939<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
948 <date-time>2011-05-12T13:00:00Z</date-time>
955 'BEGIN:VCALENDAR' .
"\n" .
956 'DTSTART;X-PARAM=PT30M:20110512T130000Z' .
"\n" .
957 'END:VCALENDAR' .
"\n"
966<?xml version=
"1.0" encoding=
"UTF-8"?>
967<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
971 <date-time>2008-02-05T19:12:24Z</date-time>
978 'BEGIN:VCALENDAR' .
"\n" .
979 'RDATE:20080205T191224Z' .
"\n" .
980 'END:VCALENDAR' .
"\n"
985<?xml version=
"1.0" encoding=
"UTF-8"?>
986<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
990 <date-time>2008-02-05T19:12:24Z</date-time>
991 <date-time>2009-02-05T19:12:24Z</date-time>
998 'BEGIN:VCALENDAR' .
"\n" .
999 'RDATE:20080205T191224Z,20090205T191224Z' .
"\n" .
1000 'END:VCALENDAR' .
"\n"
1009<?xml version=
"1.0" encoding=
"UTF-8"?>
1010<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
1014 <date>2008-10-06</date>
1021 'BEGIN:VCALENDAR' .
"\n" .
1022 'RDATE:20081006' .
"\n" .
1023 'END:VCALENDAR' .
"\n"
1028<?xml version=
"1.0" encoding=
"UTF-8"?>
1029<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
1033 <date>2008-10-06</date>
1034 <date>2009-10-06</date>
1035 <date>2010-10-06</date>
1042 'BEGIN:VCALENDAR' .
"\n" .
1043 'RDATE:20081006,20091006,20101006' .
"\n" .
1044 'END:VCALENDAR' .
"\n"
1053<?xml version=
"1.0" encoding=
"UTF-8"?>
1054<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
1060 <text>US/Eastern</text>
1064 <start>2006-01-02T15:00:00</start>
1065 <duration>PT2H</duration>
1073 'BEGIN:VCALENDAR' .
"\n" .
1074 'RDATE;TZID=US/Eastern;VALUE=PERIOD:20060102T150000/PT2H' .
"\n" .
1075 'END:VCALENDAR' .
"\n"
1080<?xml version=
"1.0" encoding=
"UTF-8"?>
1081<icalendar xmlns=
"urn:ietf:params:xml:ns:icalendar-2.0">
1087 <text>US/Eastern</text>
1091 <start>2006-01-02T15:00:00</start>
1092 <duration>PT2H</duration>
1095 <start>2008-01-02T15:00:00</start>
1096 <duration>PT1H</duration>
1104 'BEGIN:VCALENDAR' .
"\n" .
1105 'RDATE;TZID=US/Eastern;VALUE=PERIOD:20060102T150000/PT2H,20080102T150000/PT1' .
"\n" .
1107 'END:VCALENDAR' .
"\n"
1119<?xml version=
"1.0" encoding=
"UTF-8"?>
1120<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1126 <surname>Doe</surname>
1136 'BEGIN:VCARD' .
"\n" .
1137 'VERSION:4.0' .
"\n" .
1138 'FN:J. Doe' .
"\n" .
1139 'N:Doe;J.;;;' .
"\n" .
1152<?xml version=
"1.0" encoding=
"UTF-8"?>
1153<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1159 <surname>Doe</surname>
1168 <text>image/jpeg</text>
1171 <unknown>alien.jpg</unknown>
1173 <x1:a href=
"http://www.example.com" xmlns:x1=
"http://www.w3.org/1999/xhtml">My web page!</x1:a>
1178 'BEGIN:VCARD' .
"\n" .
1179 'VERSION:4.0' .
"\n" .
1180 'FN:J. Doe' .
"\n" .
1181 'N:Doe;J.;;;' .
"\n" .
1182 'X-FILE;MEDIATYPE=image/jpeg:alien.jpg' .
"\n" .
1183 'XML:<a xmlns="http://www.w3.org/1999/xhtml" href="http://www.example.com">M' .
"\n" .
1184 ' y web page!</a>' .
"\n" .
1197<?xml version=
"1.0" encoding=
"UTF-8"?>
1198<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1207 <uri>tel:+1-555-555-555</uri>
1213 'BEGIN:VCARD' .
"\n" .
1214 'VERSION:4.0' .
"\n" .
1215 'TEL;TYPE="voice,video":tel:+1-555-555-555' .
"\n" .
1221<?xml version=
"1.0" encoding=
"UTF-8"?>
1222<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1231 <text>tel:+1-555-555-555</text>
1237 'BEGIN:VCARD' .
"\n" .
1238 'VERSION:4.0' .
"\n" .
1239 'TEL;TYPE="voice,video":tel:+1-555-555-555' .
"\n" .
1252<?xml version=
"1.0" encoding=
"UTF-8"?>
1253<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1256 <text>tel:+1-555-555-556</text>
1258 <group name=
"contact">
1260 <text>tel:+1-555-555-555</text>
1266 <group name=
"media">
1275 'BEGIN:VCARD' .
"\n" .
1276 'VERSION:4.0' .
"\n" .
1277 'TEL:tel:+1-555-555-556' .
"\n" .
1278 'contact.TEL:tel:+1-555-555-555' .
"\n" .
1279 'contact.FN:Gordon' .
"\n" .
1280 'media.FN:Gordon' .
"\n" .
1293<?xml version=
"1.0" encoding=
"UTF-8"?>
1294<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1299 <integer>1</integer>
1302 <text>value goes here</text>
1308 'BEGIN:VCARD' .
"\n" .
1309 'VERSION:4.0' .
"\n" .
1310 'X-MY-PROP;PREF=1:value goes here' .
"\n" .
1323<?xml version=
"1.0" encoding=
"UTF-8"?>
1324<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1327 <date-and-or-time>20150128</date-and-or-time>
1333 'BEGIN:VCARD' .
"\n" .
1334 'VERSION:4.0' .
"\n" .
1335 'BDAY:20150128' .
"\n" .
1348<?xml version=
"1.0" encoding=
"UTF-8"?>
1349<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1352 <date-and-or-time>2015-01</date-and-or-time>
1358 'BEGIN:VCARD' .
"\n" .
1359 'VERSION:4.0' .
"\n" .
1360 'BDAY:2015-01' .
"\n" .
1373<?xml version=
"1.0" encoding=
"UTF-8"?>
1374<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1377 <date-and-or-time>--01</date-and-or-time>
1383 'BEGIN:VCARD' .
"\n" .
1384 'VERSION:4.0' .
"\n" .
1385 'BDAY:--01' .
"\n" .
1398<?xml version=
"1.0" encoding=
"UTF-8"?>
1399<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1402 <date-and-or-time>--0128</date-and-or-time>
1408 'BEGIN:VCARD' .
"\n" .
1409 'VERSION:4.0' .
"\n" .
1410 'BDAY:--0128' .
"\n" .
1423<?xml version=
"1.0" encoding=
"UTF-8"?>
1424<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1427 <date-and-or-time>---28</date-and-or-time>
1433 'BEGIN:VCARD' .
"\n" .
1434 'VERSION:4.0' .
"\n" .
1435 'BDAY:---28' .
"\n" .
1448<?xml version=
"1.0" encoding=
"UTF-8"?>
1449<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1452 <date-and-or-time>13</date-and-or-time>
1458 'BEGIN:VCARD' .
"\n" .
1459 'VERSION:4.0' .
"\n" .
1473<?xml version=
"1.0" encoding=
"UTF-8"?>
1474<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1477 <date-and-or-time>1353</date-and-or-time>
1483 'BEGIN:VCARD' .
"\n" .
1484 'VERSION:4.0' .
"\n" .
1485 'BDAY:1353' .
"\n" .
1498<?xml version=
"1.0" encoding=
"UTF-8"?>
1499<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1502 <date-and-or-time>135301</date-and-or-time>
1508 'BEGIN:VCARD' .
"\n" .
1509 'VERSION:4.0' .
"\n" .
1510 'BDAY:135301' .
"\n" .
1523<?xml version=
"1.0" encoding=
"UTF-8"?>
1524<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1527 <date-and-or-time>-53</date-and-or-time>
1533 'BEGIN:VCARD' .
"\n" .
1534 'VERSION:4.0' .
"\n" .
1548<?xml version=
"1.0" encoding=
"UTF-8"?>
1549<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1552 <date-and-or-time>-5301</date-and-or-time>
1558 'BEGIN:VCARD' .
"\n" .
1559 'VERSION:4.0' .
"\n" .
1560 'BDAY:-5301' .
"\n" .
1571 $this->assertTrue(
true);
1607<?xml version=
"1.0" encoding=
"UTF-8"?>
1608<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1611 <date-and-or-time>--01Z</date-and-or-time>
1617 'BEGIN:VCARD' .
"\n" .
1618 'VERSION:4.0' .
"\n" .
1619 'BDAY:--01Z' .
"\n" .
1632<?xml version=
"1.0" encoding=
"UTF-8"?>
1633<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1636 <date-and-or-time>--01+1234</date-and-or-time>
1642 'BEGIN:VCARD' .
"\n" .
1643 'VERSION:4.0' .
"\n" .
1644 'BDAY:--01+1234' .
"\n" .
1657<?xml version=
"1.0" encoding=
"UTF-8"?>
1658<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1661 <date-and-or-time>20150128T13</date-and-or-time>
1667 'BEGIN:VCARD' .
"\n" .
1668 'VERSION:4.0' .
"\n" .
1669 'BDAY:20150128T13' .
"\n" .
1682<?xml version=
"1.0" encoding=
"UTF-8"?>
1683<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1686 <date-and-or-time>--0128T13</date-and-or-time>
1692 'BEGIN:VCARD' .
"\n" .
1693 'VERSION:4.0' .
"\n" .
1694 'BDAY:--0128T13' .
"\n" .
1707<?xml version=
"1.0" encoding=
"UTF-8"?>
1708<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1711 <date-and-or-time>---28T13</date-and-or-time>
1717 'BEGIN:VCARD' .
"\n" .
1718 'VERSION:4.0' .
"\n" .
1719 'BDAY:---28T13' .
"\n" .
1732<?xml version=
"1.0" encoding=
"UTF-8"?>
1733<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1736 <date-and-or-time>---28T1353</date-and-or-time>
1742 'BEGIN:VCARD' .
"\n" .
1743 'VERSION:4.0' .
"\n" .
1744 'BDAY:---28T1353' .
"\n" .
1757<?xml version=
"1.0" encoding=
"UTF-8"?>
1758<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1761 <date-and-or-time>---28T135301</date-and-or-time>
1767 'BEGIN:VCARD' .
"\n" .
1768 'VERSION:4.0' .
"\n" .
1769 'BDAY:---28T135301' .
"\n" .
1782<?xml version=
"1.0" encoding=
"UTF-8"?>
1783<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1786 <date-and-or-time>---28T13Z</date-and-or-time>
1792 'BEGIN:VCARD' .
"\n" .
1793 'VERSION:4.0' .
"\n" .
1794 'BDAY:---28T13Z' .
"\n" .
1807<?xml version=
"1.0" encoding=
"UTF-8"?>
1808<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1811 <date-and-or-time>---28T13+1234</date-and-or-time>
1817 'BEGIN:VCARD' .
"\n" .
1818 'VERSION:4.0' .
"\n" .
1819 'BDAY:---28T13+1234' .
"\n" .
1832<?xml version=
"1.0" encoding=
"UTF-8"?>
1833<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1842 'BEGIN:VCARD' .
"\n" .
1843 'VERSION:4.0' .
"\n" .
1844 'SOURCE:ldap://ldap.example.com/cn=Babs%20Jensen\,%20o=Babsco\,%20c=US' .
"\n" .
1857<?xml version=
"1.0" encoding=
"UTF-8"?>
1858<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1861 <text>individual</text>
1867 'BEGIN:VCARD' .
"\n" .
1868 'VERSION:4.0' .
"\n" .
1869 'KIND:individual' .
"\n" .
1882<?xml version=
"1.0" encoding=
"UTF-8"?>
1883<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1886 <text>Mr. John Q. Public, Esq.</text>
1892 'BEGIN:VCARD' .
"\n" .
1893 'VERSION:4.0' .
"\n" .
1894 'FN:Mr. John Q. Public\, Esq.' .
"\n" .
1907<?xml version=
"1.0" encoding=
"UTF-8"?>
1908<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1911 <surname>Stevenson</surname>
1913 <additional>Philip,Paul</additional>
1914 <prefix>Dr.</prefix>
1915 <suffix>Jr.,M.D.,A.C.P.</suffix>
1921 'BEGIN:VCARD' .
"\n" .
1922 'VERSION:4.0' .
"\n" .
1923 'N:Stevenson;John;Philip\,Paul;Dr.;Jr.\,M.D.\,A.C.P.' .
"\n" .
1936<?xml version=
"1.0" encoding=
"UTF-8"?>
1937<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1947 'BEGIN:VCARD' .
"\n" .
1948 'VERSION:4.0' .
"\n" .
1949 'NICKNAME:Jim,Jimmie' .
"\n" .
1962<?xml version=
"1.0" encoding=
"UTF-8"?>
1963<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1972 'BEGIN:VCARD' .
"\n" .
1973 'VERSION:4.0' .
"\n" .
1974 'PHOTO:http://www.example.com/pub/photos/jqpublic.gif' .
"\n" .
1984<?xml version=
"1.0" encoding=
"UTF-8"?>
1985<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
1988 <date-and-or-time>19531015T231000Z</date-and-or-time>
1994 'BEGIN:VCARD' .
"\n" .
1995 'VERSION:4.0' .
"\n" .
1996 'BDAY:19531015T231000Z' .
"\n" .
2006<?xml version=
"1.0" encoding=
"UTF-8"?>
2007<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2010 <date-and-or-time>19960415</date-and-or-time>
2016 'BEGIN:VCARD' .
"\n" .
2017 'VERSION:4.0' .
"\n" .
2018 'ANNIVERSARY:19960415' .
"\n" .
2031<?xml version=
"1.0" encoding=
"UTF-8"?>
2032<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2042 'BEGIN:VCARD' .
"\n" .
2043 'VERSION:4.0' .
"\n" .
2044 'GENDER:Jim;Jimmie' .
"\n" .
2057<?xml version=
"1.0" encoding=
"UTF-8"?>
2058<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2063 <street>123 Main Street</street>
2064 <locality>Any Town</locality>
2066 <code>91921-1234</code>
2067 <country>U.S.A.</country>
2073 'BEGIN:VCARD' .
"\n" .
2074 'VERSION:4.0' .
"\n" .
2075 'ADR:;;123 Main Street;Any Town;CA;91921-1234;U.S.A.' .
"\n" .
2098<?xml version=
"1.0" encoding=
"UTF-8"?>
2099<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2107 <uri>tel:+33-01-23-45-67</uri>
2113 'BEGIN:VCARD' .
"\n" .
2114 'VERSION:4.0' .
"\n" .
2115 'TEL;TYPE=home:tel:+33-01-23-45-67' .
"\n" .
2121<?xml version=
"1.0" encoding=
"UTF-8"?>
2122<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2130 <text>tel:+33-01-23-45-67</text>
2136 'BEGIN:VCARD' .
"\n" .
2137 'VERSION:4.0' .
"\n" .
2138 'TEL;TYPE=home:tel:+33-01-23-45-67' .
"\n" .
2151<?xml version=
"1.0" encoding=
"UTF-8"?>
2152<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2160 <text>jqpublic@xyz.example.com</text>
2166 'BEGIN:VCARD' .
"\n" .
2167 'VERSION:4.0' .
"\n" .
2168 'EMAIL;TYPE=work:jqpublic@xyz.example.com' .
"\n" .
2181<?xml version=
"1.0" encoding=
"UTF-8"?>
2182<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2190 <uri>xmpp:alice@example.com</uri>
2196 'BEGIN:VCARD' .
"\n" .
2197 'VERSION:4.0' .
"\n" .
2198 'IMPP;PREF=1:xmpp:alice@example.com' .
"\n" .
2211<?xml version=
"1.0" encoding=
"UTF-8"?>
2212<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2223 <language-tag>en</language-tag>
2229 'BEGIN:VCARD' .
"\n" .
2230 'VERSION:4.0' .
"\n" .
2231 'LANG;TYPE=work;PREF=2:en' .
"\n" .
2244<?xml version=
"1.0" encoding=
"UTF-8"?>
2245<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2248 <text>Raleigh/North America</text>
2254 'BEGIN:VCARD' .
"\n" .
2255 'VERSION:4.0' .
"\n" .
2256 'TZ:Raleigh/North America' .
"\n" .
2269<?xml version=
"1.0" encoding=
"UTF-8"?>
2270<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2273 <uri>geo:37.386013,-122.082932</uri>
2279 'BEGIN:VCARD' .
"\n" .
2280 'VERSION:4.0' .
"\n" .
2281 'GEO:geo:37.386013\,-122.082932' .
"\n" .
2287<?xml version=
"1.0" encoding=
"UTF-8"?>
2288<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2291 <text>geo:37.386013,-122.082932</text>
2297 'BEGIN:VCARD' .
"\n" .
2298 'VERSION:4.0' .
"\n" .
2299 'GEO:geo:37.386013\,-122.082932' .
"\n" .
2312<?xml version=
"1.0" encoding=
"UTF-8"?>
2313<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2316 <text>Research Scientist</text>
2322 'BEGIN:VCARD' .
"\n" .
2323 'VERSION:4.0' .
"\n" .
2324 'TITLE:Research Scientist' .
"\n" .
2337<?xml version=
"1.0" encoding=
"UTF-8"?>
2338<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2341 <text>Project Leader</text>
2347 'BEGIN:VCARD' .
"\n" .
2348 'VERSION:4.0' .
"\n" .
2349 'ROLE:Project Leader' .
"\n" .
2362<?xml version=
"1.0" encoding=
"UTF-8"?>
2363<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2372 'BEGIN:VCARD' .
"\n" .
2373 'VERSION:4.0' .
"\n" .
2374 'LOGO:http://www.example.com/pub/logos/abccorp.jpg' .
"\n" .
2387<?xml version=
"1.0" encoding=
"UTF-8"?>
2388<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2391 <text>ABC, Inc.</text>
2392 <text>North American Division</text>
2393 <text>Marketing</text>
2399 'BEGIN:VCARD' .
"\n" .
2400 'VERSION:4.0' .
"\n" .
2401 'ORG:ABC\, Inc.;North American Division;Marketing' .
"\n" .
2414<?xml version=
"1.0" encoding=
"UTF-8"?>
2415<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2418 <uri>urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af</uri>
2424 'BEGIN:VCARD' .
"\n" .
2425 'VERSION:4.0' .
"\n" .
2426 'MEMBER:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af' .
"\n" .
2432<?xml version=
"1.0" encoding=
"UTF-8"?>
2433<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2436 <uri>mailto:subscriber1@example.com</uri>
2439 <uri>xmpp:subscriber2@example.com</uri>
2442 <uri>sip:subscriber3@example.com</uri>
2445 <uri>tel:+1-418-555-5555</uri>
2451 'BEGIN:VCARD' .
"\n" .
2452 'VERSION:4.0' .
"\n" .
2453 'MEMBER:mailto:subscriber1@example.com' .
"\n" .
2454 'MEMBER:xmpp:subscriber2@example.com' .
"\n" .
2455 'MEMBER:sip:subscriber3@example.com' .
"\n" .
2456 'MEMBER:tel:+1-418-555-5555' .
"\n" .
2469<?xml version=
"1.0" encoding=
"UTF-8"?>
2470<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2478 <uri>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6</uri>
2484 'BEGIN:VCARD' .
"\n" .
2485 'VERSION:4.0' .
"\n" .
2486 'RELATED;TYPE=friend:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6' .
"\n" .
2499<?xml version=
"1.0" encoding=
"UTF-8"?>
2500<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2503 <text>INTERNET</text>
2505 <text>INDUSTRY</text>
2506 <text>INFORMATION TECHNOLOGY</text>
2512 'BEGIN:VCARD' .
"\n" .
2513 'VERSION:4.0' .
"\n" .
2514 'CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY' .
"\n" .
2527<?xml version=
"1.0" encoding=
"UTF-8"?>
2528<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2531 <text>Foo, bar</text>
2537 'BEGIN:VCARD' .
"\n" .
2538 'VERSION:4.0' .
"\n" .
2539 'NOTE:Foo\, bar' .
"\n" .
2552<?xml version=
"1.0" encoding=
"UTF-8"?>
2553<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2562 'BEGIN:VCARD' .
"\n" .
2563 'VERSION:4.0' .
"\n" .
2564 'PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN' .
"\n" .
2574<?xml version=
"1.0" encoding=
"UTF-8"?>
2575<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2578 <timestamp>19951031T222710Z</timestamp>
2584 'BEGIN:VCARD' .
"\n" .
2585 'VERSION:4.0' .
"\n" .
2586 'REV:19951031T222710Z' .
"\n" .
2599<?xml version=
"1.0" encoding=
"UTF-8"?>
2600<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2603 <uri>CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@example.com</uri>
2609 'BEGIN:VCARD' .
"\n" .
2610 'VERSION:4.0' .
"\n" .
2611 'SOUND:CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@example.com' .
"\n" .
2617<?xml version=
"1.0" encoding=
"UTF-8"?>
2618<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2621 <text>CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@example.com</text>
2627 'BEGIN:VCARD' .
"\n" .
2628 'VERSION:4.0' .
"\n" .
2629 'SOUND:CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@example.com' .
"\n" .
2642<?xml version=
"1.0" encoding=
"UTF-8"?>
2643<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2646 <text>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6</text>
2652 'BEGIN:VCARD' .
"\n" .
2653 'VERSION:4.0' .
"\n" .
2654 'UID:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6' .
"\n" .
2667<?xml version=
"1.0" encoding=
"UTF-8"?>
2668<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2671 <sourceid>1</sourceid>
2672 <uri>urn:uuid:3df403f4-5924-4bb7-b077-3c711d9eb34b</uri>
2678 'BEGIN:VCARD' .
"\n" .
2679 'VERSION:4.0' .
"\n" .
2680 'CLIENTPIDMAP:1;urn:uuid:3df403f4-5924-4bb7-b077-3c711d9eb34b' .
"\n" .
2693<?xml version=
"1.0" encoding=
"UTF-8"?>
2694<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2703 'BEGIN:VCARD' .
"\n" .
2704 'VERSION:4.0' .
"\n" .
2705 'URL:http://example.org/restaurant.french/~chezchic.html' .
"\n" .
2718<?xml version=
"1.0" encoding=
"UTF-8"?>
2719<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2724 'BEGIN:VCARD' .
"\n" .
2725 'VERSION:4.0' .
"\n" .
2738<?xml version=
"1.0" encoding=
"UTF-8"?>
2739<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2744 <text>application/pgp-keys</text>
2753 'BEGIN:VCARD' .
"\n" .
2754 'VERSION:4.0' .
"\n" .
2755 'KEY;MEDIATYPE=application/pgp-keys:ftp://example.com/keys/jdoe' .
"\n" .
2768<?xml version=
"1.0" encoding=
"UTF-8"?>
2769<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2783 'BEGIN:VCARD' .
"\n" .
2784 'VERSION:4.0' .
"\n" .
2785 'FBURL;PREF=1:http://www.example.com/busy/janedoe' .
"\n" .
2798<?xml version=
"1.0" encoding=
"UTF-8"?>
2799<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2808 'BEGIN:VCARD' .
"\n" .
2809 'VERSION:4.0' .
"\n" .
2810 'CALADRURI:http://example.com/calendar/jdoe' .
"\n" .
2823<?xml version=
"1.0" encoding=
"UTF-8"?>
2824<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2838 'BEGIN:VCARD' .
"\n" .
2839 'VERSION:4.0' .
"\n" .
2840 'CALURI;PREF=1:http://cal.example.com/calA' .
"\n" .
2853<?xml version=
"1.0" encoding=
"UTF-8"?>
2854<vcards xmlns=
"urn:ietf:params:xml:ns:vcard-4.0">
2863 'BEGIN:VCARD' .
"\n" .
2864 'VERSION:4.0' .
"\n" .
2865 'CAPURI:http://cap.example.com/capA' .
"\n" .
2878 $this->assertVObjectEqualsVObject($mimedir, $component);
2891 $this->assertXmlStringEqualsXmlString(
$xml, VObject\Writer::writeXML($component));
An exception for terminatinating execution or to throw for unit testing.
testRFC6321Section3_6_12()
Values, Time.
assertXMLEqualsToMimeDir($xml, $mimedir)
Check this equality: XML -> object model -> MIME Dir.
testRFC6350Section6_2_3()
Property: NICKNAME.
testRFC6351ValueTimeWithMinuteSecond()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6350Section6_8_1()
Property: KEY.
testRFC6350Section6_6_6()
Property: RELATED.
testRFC6321Section3_2()
iCalendar Stream.
testRFC6321Section5()
Handling Unrecognized Properties or Parameters.
testRFC6351ValueDateWithYearMonth()
Section 4.3.1 of Relax NG Schema: value-date.
testRFC6321Section3_6_4()
Values, Date.
testRFC6351ValueDateTimeWithYearMonthDayHour()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6351ValueDateWithYearMonthDay()
Section 4.3.1 of Relax NG Schema: value-date.
testRFC6351ValueTimeWithMinute()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6350Section6_9_3()
Property: CALURI.
testRFC6321Section3_6_11()
Values, Text.
testRFC6321Section3_6_3()
Values, Calendar User Address.
testRFC6321Section3_6_8()
Values, Integer.
testRFC6321Section3_4_1_2()
Properties, Special Cases, GEO.
testRFC6350Section6_5_2()
Property: GEO.
testRFC6350Section6_7_2()
Property: NOTE.
testRFC6351ValueDateTimeWithDayHour()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6321Section3_6_2()
Values, Boolean.
testRFC6321Section3_6_10()
Values, Recurrence Rule.
testRFC6351ValueDateTimeWithDayHourTZ()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6321Section3_6_9()
Values, Period of Time.
testRFC6351ValueDateWithMonth()
Section 4.3.1 of Relax NG Schema: value-date.
testRFC6350Section6_9_1()
Property: FBURL.
testRFC6350Section6_7_7()
Property: CLIENTPIDMAP.
testRFC6351ValueDateTimeWithDayHourMinuteSecond()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6351ValueDateWithMonthDay()
Section 4.3.1 of Relax NG Schema: value-date.
testRFC6351ValueTimeWithSecondZ()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6350Section6_4_1()
Property: TEL.
testRFC6350Section6_7_8()
Property: URL.
testRFC6350SectionA_3()
Property: CAPURI.
testRFC6350Section6_7_6()
Property: UID.
testRFC6351Basic()
Basic example.
testRFC6350Section6_4_4()
Property: LANG.
testRFC6350Section6_7_4()
testRFC6351Example1()
Example 1.
testRFC6350Section6_2_6()
assertXMLReflexivelyEqualsToMimeDir($xml, $mimedir)
Check this (reflexive) equality: XML -> object model -> MIME Dir -> object model -> XML.
testRFC6350Section6_6_1()
Property: TITLE.
testRFC6350Section6_4_2()
Property: EMAIL.
testRFC6351ValueTimeWithSecond()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6351ValueDateWithDay()
Section 4.3.1 of Relax NG Schema: value-date.
testRFC6350Section6_3_1()
Property: ADR.
testRFC6350Section6_7_5()
Property: SOUND.
testRFC6321Section3_6_13()
Values, URI.
testRFC6351ValueTimeWithSecondTZ()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6350Section6_9_2()
Property: CALADRURI.
testRFC6351ValueTimeWithHourMinuteSecond()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6350Section6_2_7()
Property: GENDER.
testRFC6321Section3_6_7()
Values, Float.
testRFC6350Section6_2_1()
Property: FN.
testRFC6351Section5()
Design Considerations.
testRFC6350Section6_4_3()
Property: IMPP.
testRFC6350Section6_2_2()
Property: N.
testRFC6351ValueTimeWithHourMinute()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6321Section3_6_1()
Values, Binary.
testRFC6321Section3_6_14()
Values, UTC Offset.
testRFC6350Section6_7_9()
Property: VERSION.
testRFC6351Section5_1_NoNamespace()
Extensibility.
testRFC6350Section6_2_4()
Property: PHOTO.
testRFC6350Section6_5_1()
Property: TZ.
testRFC6350Section6_6_3()
Property: LOGO.
testRFC6350Section6_6_4()
Property: ORG.
testRFC6350Section6_6_2()
Property: ROLE.
testRFC6350Section6_6_5()
Property: MEMBER.
testRFC6321Section3_3()
All components exist.
testRFC6351ValueTimeWithHour()
Section 4.3.2 of Relax NG Schema: value-time.
testRFC6351ValueDateTimeWithMonthDayHour()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6351Section5Group()
Design Considerations.
testRFC6350Section6_1_3()
Property: SOURCE.
testRFC6350Section6_1_4()
Property: KIND.
testRFC6350Section6_7_3()
Property: PRODID.
testRFC6351ValueDateTimeWithDayHourMinute()
Section 4.3.3 of Relax NG Schema: value-date-time.
testRFC6350Section6_7_1()
Property: CATEGORIES.
testRFC6350Section6_2_5()
testRFC6321Section3_6_6()
Values, Duration.
testRFC6321Section3_6_5()
Values, Date-Time.
testRFC6321Section3_4_1_3()
Properties, Special Cases, REQUEST-STATUS.
testRFC6351ValueDateTimeWithDayHourZ()
Section 4.3.3 of Relax NG Schema: value-date-time.
static read($data, $options=0, $charset='UTF-8')
Parses a vCard or iCalendar object, and returns the top component.
static readXML($data, $options=0)
Parses a xCard or xCal object, and returns the top component.
static write(Component $component)
Serializes a vCard or iCalendar object.
static http()
Fetches the global http state from ILIAS.
all(array $promises)
This file contains a set of functions that are useful for dealing with the Promise object.
on($eventName, callable $callBack, $priority=100)
Subscribe to an event.