annotate vendor/sabre/vobject/tests/VObject/Splitter/ICalendarTest.php @ 43:771f6803cc4b default tip

somehow lost the correctly updated metadata so e.g. 'mail' package wasn't being imported
author Charlie Root
date Sun, 26 Jan 2025 13:13:49 -0500
parents 430dbd5346f7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
1 <?php
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
3 namespace Sabre\VObject\Splitter;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 use Sabre\VObject;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 class ICalendarTest extends \PHPUnit_Framework_TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 protected $version;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 function setUp() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 $this->version = VObject\Version::VERSION;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 function createStream($data) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 $stream = fopen('php://memory','r+');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 fwrite($stream, $data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 rewind($stream);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 return $stream;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 function testICalendarImportValidEvent() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 DTSTART:20140101T070000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 $this->assertEquals(array(), VObject\Reader::read($return)->validate());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 * @expectedException Sabre\VObject\ParseException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 function testICalendarImportWrongType() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 UID:foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 UID:foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 function testICalendarImportEndOfData() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 $this->assertNull($object=$objects->getNext());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 * @expectedException Sabre\VObject\ParseException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88 function testICalendarImportInvalidEvent() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 function testICalendarImportMultipleValidEvents() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 UID:foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102 DTSTART:20140101T050000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108 UID:foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110 DTSTART:20140101T060000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116 $event[0]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117 $event[1]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126 $i = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
129 $expected = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
130 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
131 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
132 PRODID:-//Sabre//Sabre VObject $this->version//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
133 CALSCALE:GREGORIAN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
134 $event[$i]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
135 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
136
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
137 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
138
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
139 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
140 $expected = str_replace("\n", "\r\n", $expected);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
141 $this->assertEquals($expected, $object->serialize());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
142 $i++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
143 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
144 $this->assertEquals(array(), VObject\Reader::read($return)->validate());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
145 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
146
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
147 function testICalendarImportEventWithoutUID() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
148
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
149 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
150 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
151 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
152 PRODID:-//Sabre//Sabre VObject $this->version//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
153 CALSCALE:GREGORIAN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
154 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
155 DTSTART:20140101T040000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
156 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
157 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
158 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
159
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
160 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
161 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
162
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
163 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
164
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
165 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
166 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
167 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
168 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
169
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
170 $messages = VObject\Reader::read($return)->validate();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
171
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
172 if ($messages) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
173 $messages = array_map(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
174 function($item) { return $item['message']; },
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
175 $messages
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
176 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
177 $this->fail('Validation errors: ' . implode("\n", $messages));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
178 } else {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
179 $this->assertEquals(array(), $messages);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
180 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
181 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
182
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
183 function testICalendarImportMultipleVTIMEZONESAndMultipleValidEvents() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
184
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
185 $timezones = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
186 BEGIN:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
187 TZID:Europe/Berlin
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
188 BEGIN:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
189 TZOFFSETFROM:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
190 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
191 DTSTART:19810329T020000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
192 TZNAME:MESZ
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
193 TZOFFSETTO:+0200
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
194 END:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
195 BEGIN:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
196 TZOFFSETFROM:+0200
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
197 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
198 DTSTART:19961027T030000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
199 TZNAME:MEZ
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
200 TZOFFSETTO:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
201 END:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
202 END:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
203 BEGIN:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
204 TZID:Europe/London
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
205 BEGIN:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
206 TZOFFSETFROM:+0000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
207 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
208 DTSTART:19810329T010000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
209 TZNAME:GMT+01:00
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
210 TZOFFSETTO:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
211 END:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
212 BEGIN:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
213 TZOFFSETFROM:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
214 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
215 DTSTART:19961027T020000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
216 TZNAME:GMT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
217 TZOFFSETTO:+0000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
218 END:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
219 END:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
220 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
221
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
222 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
223 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
224 UID:foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
225 DTSTAMP:20140122T232710Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
226 DTSTART:20140101T010000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
227 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
228 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
229
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
230 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
231 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
232 UID:foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
233 DTSTAMP:20140122T232710Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
234 DTSTART:20140101T020000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
235 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
236 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
237
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
238 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
239 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
240 UID:foo3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
241 DTSTAMP:20140122T232710Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
242 DTSTART:20140101T030000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
243 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
244 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
245
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
246 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
247 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
248 $timezones
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
249 $event[0]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
250 $event[1]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
251 $event[2]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
252 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
253
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
254 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
255 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
256
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
257 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
258
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
259 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
260 $i = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
261 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
262
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
263 $expected = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
264 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
265 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
266 PRODID:-//Sabre//Sabre VObject $this->version//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
267 CALSCALE:GREGORIAN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
268 $timezones
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
269 $event[$i]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
270 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
271
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
272 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
273 $expected = str_replace("\n", "\r\n", $expected);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
274
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
275 $this->assertEquals($expected, $object->serialize());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
276 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
277 $i++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
278
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
279 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
280
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
281 $this->assertEquals(array(), VObject\Reader::read($return)->validate());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
282 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
283
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
284 function testICalendarImportWithOutVTIMEZONES() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
285
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
286 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
287 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
288 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
289 PRODID:-//Apple Inc.//Mac OS X 10.8//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
290 CALSCALE:GREGORIAN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
291 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
292 CREATED:20120605T072109Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
293 UID:D6716295-C10F-4B20-82F9-E1A3026C7DCF
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
294 DTEND;VALUE=DATE:20120717
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
295 TRANSP:TRANSPARENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
296 SUMMARY:Start Vorbereitung
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
297 DTSTART;VALUE=DATE:20120716
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
298 DTSTAMP:20120605T072115Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
299 SEQUENCE:2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
300 BEGIN:VALARM
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
301 X-WR-ALARMUID:A99EDA6A-35EB-4446-B8BC-CDA3C60C627D
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
302 UID:A99EDA6A-35EB-4446-B8BC-CDA3C60C627D
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
303 TRIGGER:-PT15H
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
304 X-APPLE-DEFAULT-ALARM:TRUE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
305 ATTACH;VALUE=URI:Basso
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
306 ACTION:AUDIO
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
307 END:VALARM
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
308 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
309 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
310
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
311 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
312 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
313
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
314 $objects = new ICalendar($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
315
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
316 $return = "";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
317 while($object=$objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
318 $return .= $object->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
319 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
320
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
321 $messages = VObject\Reader::read($return)->validate();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
322 $this->assertEquals(array(), $messages);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
323 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
324
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
325 }