annotate vendor/sabre/vobject/tests/VObject/FreeBusyGeneratorTest.php @ 41:d2414df68d78

Updated by Alex S Grebenschikov (www.poralix.com) to make it compatible with RoundCube 1.3.0
author Charlie Root
date Fri, 24 Jan 2025 14:20:15 -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;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 class FreeBusyGeneratorTest extends \PHPUnit_Framework_TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 function getInput() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 $tests = array();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 UID:foobar
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 DTSTART:20110101T120000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 DTEND:20110101T130000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 "20110101T120000Z/20110101T130000Z"
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 // opaque, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 UID:foobar2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 TRANSP:OPAQUE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 DTSTART:20110101T130000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 DTEND:20110101T140000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 "20110101T130000Z/20110101T140000Z"
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 // transparent, hidden
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 UID:foobar3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 TRANSP:TRANSPARENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 DTSTART:20110101T140000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 DTEND:20110101T150000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 null,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60 // cancelled, hidden
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64 UID:foobar4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 STATUS:CANCELLED
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66 DTSTART:20110101T160000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 DTEND:20110101T170000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 null,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77 // tentative, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 UID:foobar5
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 STATUS:TENTATIVE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 DTSTART:20110101T180000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 DTEND:20110101T190000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 '20110101T180000Z/20110101T190000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 // outside of time-range, hidden
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 UID:foobar6
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 DTSTART:20110101T090000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 DTEND:20110101T100000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 null,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110 // outside of time-range, hidden
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114 UID:foobar7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115 DTSTART:20110104T090000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116 DTEND:20110104T100000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 null,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126 // using duration, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
129 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
130 UID:foobar8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
131 DTSTART:20110101T190000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
132 DURATION:PT1H
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
133 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
134 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
135 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
136
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
137 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
138 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
139 '20110101T190000Z/20110101T200000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
140 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
141
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
142 // Day-long event, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
143 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
144 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
145 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
146 UID:foobar9
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
147 DTSTART;VALUE=DATE:20110102
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
148 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
149 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
150 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
151
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
152 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
153 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
154 '20110102T000000Z/20110103T000000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
155 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
156
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
157
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
158 // No duration, does not show up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
159 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
160 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
161 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
162 UID:foobar10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
163 DTSTART:20110101T200000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
164 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
165 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
166 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
167
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
168 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
169 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
170 null,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
171 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
172
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
173 // encoded as object, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
174 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
175 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
176 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
177 UID:foobar11
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
178 DTSTART:20110101T210000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
179 DURATION:PT1H
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
180 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
181 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
182 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
183
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
184 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
185 Reader::read($blob),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
186 '20110101T210000Z/20110101T220000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
187 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
188
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
189 // Freebusy. Some parts show up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
190 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
191 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
192 BEGIN:VFREEBUSY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
193 FREEBUSY:20110103T010000Z/20110103T020000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
194 FREEBUSY;FBTYPE=FREE:20110103T020000Z/20110103T030000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
195 FREEBUSY:20110103T030000Z/20110103T040000Z,20110103T040000Z/20110103T050000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
196 FREEBUSY:20120101T000000Z/20120101T010000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
197 FREEBUSY:20110103T050000Z/PT1H
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
198 END:VFREEBUSY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
199 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
200 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
201
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
202 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
203 Reader::read($blob),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
204 array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
205 '20110103T010000Z/20110103T020000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
206 '20110103T030000Z/20110103T040000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
207 '20110103T040000Z/20110103T050000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
208 '20110103T050000Z/20110103T060000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
209 )
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
210 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
211
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
212
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
213 // Yearly recurrence rule, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
214 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
215 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
216 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
217 UID:foobar13
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
218 DTSTART:20100101T220000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
219 DTEND:20100101T230000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
220 RRULE:FREQ=YEARLY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
221 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
222 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
223 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
224
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
225 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
226 Reader::read($blob),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
227 '20110101T220000Z/20110101T230000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
228 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
229
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
230
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
231 // Yearly recurrence rule + duration, shows up
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
232 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
233 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
234 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
235 UID:foobar14
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
236 DTSTART:20100101T230000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
237 DURATION:PT1H
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
238 RRULE:FREQ=YEARLY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
239 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
240 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
241 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
242
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
243 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
244 Reader::read($blob),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
245 '20110101T230000Z/20110102T000000Z',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
246 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
247
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
248 // Floating time, no timezone
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
249 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
250 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
251 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
252 UID:foobar
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
253 DTSTART:20110101T120000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
254 DTEND:20110101T130000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
255 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
256 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
257 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
258
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
259 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
260 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
261 "20110101T120000Z/20110101T130000Z"
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
262 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
263
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
264 // Floating time + reference timezone
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
265 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
266 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
267 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
268 UID:foobar
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
269 DTSTART:20110101T120000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
270 DTEND:20110101T130000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
271 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
272 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
273 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
274
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
275 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
276 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
277 "20110101T170000Z/20110101T180000Z",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
278 new \DateTimeZone('America/Toronto')
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 // All-day event
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
282 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
283 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
284 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
285 UID:foobar
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
286 DTSTART;VALUE=DATE:20110101
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
287 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
288 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
289 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
290
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
291 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
292 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
293 "20110101T000000Z/20110102T000000Z"
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
294 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
295
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
296 // All-day event + reference timezone
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
297 $blob = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
298 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
299 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
300 UID:foobar
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
301 DTSTART;VALUE=DATE:20110101
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
302 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
303 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
304 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
305
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
306 $tests[] = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
307 $blob,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
308 "20110101T050000Z/20110102T050000Z",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
309 new \DateTimeZone('America/Toronto')
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
310 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
311 return $tests;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
312
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
313 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
314
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
315 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
316 * @dataProvider getInput
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
317 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
318 function testGenerator($input, $expected, $timeZone = null) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
319
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
320 $gen = new FreeBusyGenerator(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
321 new \DateTime('20110101T110000Z', new \DateTimeZone('UTC')),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
322 new \DateTime('20110103T110000Z', new \DateTimeZone('UTC')),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
323 $input,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
324 $timeZone
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
325 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
326
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
327 $result = $gen->getResult();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
328
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
329 $expected = (array)$expected;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
330
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
331 $freebusy = $result->VFREEBUSY->select('FREEBUSY');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
332
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
333 foreach($freebusy as $fb) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
334
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
335 $this->assertContains((string)$fb, $expected, "$fb did not appear in our list of expected freebusy strings. This is concerning!");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
336
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
337 $k = array_search((string)$fb, $expected);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
338 unset($expected[$k]);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
339
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
340 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
341 $this->assertTrue(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
342 count($expected) === 0,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
343 'There were elements in the expected array that were not found in the output: ' . "\n" . print_r($expected,true) . "\n" . $result->serialize()
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
344 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
345
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
346 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
347
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
348 function testGeneratorBaseObject() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
349
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
350 $obj = new Component\VCalendar();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
351 $obj->METHOD = 'PUBLISH';
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
352
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
353 $gen = new FreeBusyGenerator();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
354 $gen->setObjects(array());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
355 $gen->setBaseObject($obj);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
356
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
357 $result = $gen->getResult();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
358
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
359 $this->assertEquals('PUBLISH', $result->METHOD->getValue());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
360
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
361 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
362
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
363 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
364 * @expectedException InvalidArgumentException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
365 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
366 function testInvalidArg() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
367
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
368 $gen = new FreeBusyGenerator(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
369 new \DateTime('2012-01-01'),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
370 new \DateTime('2012-12-31'),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
371 new \StdClass()
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
372 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
373
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
374 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
375
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
376 }