annotate vendor/sabre/vobject/tests/VObject/Recur/EventIterator/Issue50Test.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
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 use
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6 DateTime,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 DateTimeZone;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 class Issue50Test extends \PHPUnit_Framework_TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 function testExpand() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 $input = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 BEGIN:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 TZID:Europe/Brussels
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 X-LIC-LOCATION:Europe/Brussels
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 BEGIN:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 TZOFFSETFROM:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 TZOFFSETTO:+0200
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 TZNAME:CEST
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 DTSTART:19700329T020000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 END:DAYLIGHT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 BEGIN:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 TZOFFSETFROM:+0200
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 TZOFFSETTO:+0100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 TZNAME:CET
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 DTSTART:19701025T030000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 END:STANDARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 END:VTIMEZONE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 CREATED:20130705T142510Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 LAST-MODIFIED:20130715T132556Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 DTSTAMP:20130715T132556Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 UID:1aef0b27-3d92-4581-829a-11999dd36724
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 SUMMARY:Werken
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 RRULE:FREQ=DAILY;COUNT=5
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 DTSTART;TZID=Europe/Brussels:20130715T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 DTEND;TZID=Europe/Brussels:20130715T170000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 LOCATION:Job
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 DESCRIPTION:Vrij
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 X-MOZ-GENERATION:9
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 CREATED:20130715T081654Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 LAST-MODIFIED:20130715T110931Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 DTSTAMP:20130715T110931Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 UID:1aef0b27-3d92-4581-829a-11999dd36724
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 SUMMARY:Werken
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 RECURRENCE-ID;TZID=Europe/Brussels:20130719T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 DTSTART;TZID=Europe/Brussels:20130719T070000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 DTEND;TZID=Europe/Brussels:20130719T150000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 SEQUENCE:1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 LOCATION:Job
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 DESCRIPTION:Vrij
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60 X-MOZ-GENERATION:1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 CREATED:20130715T111654Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64 LAST-MODIFIED:20130715T132556Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 DTSTAMP:20130715T132556Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66 UID:1aef0b27-3d92-4581-829a-11999dd36724
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 SUMMARY:Werken
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 RECURRENCE-ID;TZID=Europe/Brussels:20130716T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 DTSTART;TZID=Europe/Brussels:20130716T070000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 DTEND;TZID=Europe/Brussels:20130716T150000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71 SEQUENCE:1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 LOCATION:Job
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 X-MOZ-GENERATION:2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 CREATED:20130715T125942Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77 LAST-MODIFIED:20130715T130023Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 DTSTAMP:20130715T130023Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 UID:1aef0b27-3d92-4581-829a-11999dd36724
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 SUMMARY:Werken
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 RECURRENCE-ID;TZID=Europe/Brussels:20130717T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 DTSTART;TZID=Europe/Brussels:20130717T070000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 DTEND;TZID=Europe/Brussels:20130717T150000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 SEQUENCE:1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 LOCATION:Job
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 X-MOZ-GENERATION:3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 CREATED:20130715T130024Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 LAST-MODIFIED:20130715T130034Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 DTSTAMP:20130715T130034Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92 UID:1aef0b27-3d92-4581-829a-11999dd36724
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93 SUMMARY:Werken
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 RECURRENCE-ID;TZID=Europe/Brussels:20130718T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 DTSTART;TZID=Europe/Brussels:20130718T090000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 DTEND;TZID=Europe/Brussels:20130718T170000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 LOCATION:Job
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 X-MOZ-GENERATION:5
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 DESCRIPTION:Vrij
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 $vcal = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105 $this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 $it = new Recur\EventIterator($vcal, '1aef0b27-3d92-4581-829a-11999dd36724');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109 $result = array();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110 foreach($it as $instance) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 $result[] = $instance;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116 $tz = new DateTimeZone('Europe/Brussels');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118 $this->assertEquals(array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119 new DateTime('2013-07-15 09:00:00', $tz),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120 new DateTime('2013-07-16 07:00:00', $tz),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 new DateTime('2013-07-17 07:00:00', $tz),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122 new DateTime('2013-07-18 09:00:00', $tz),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 new DateTime('2013-07-19 07:00:00', $tz),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124 ), $result);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128 }