1<?php
2
3namespace Sabre\VObject;
4
5use
6    DateTime,
7    DateTimeZone;
8
9class Issue48Test extends \PHPUnit_Framework_TestCase {
10
11    function testExpand() {
12
13        $input = <<<ICS
14BEGIN:VCALENDAR
15BEGIN:VEVENT
16UID:foo
17DTEND;TZID=Europe/Moscow:20130710T120000
18DTSTART;TZID=Europe/Moscow:20130710T110000
19RRULE:FREQ=DAILY;UNTIL=20130712T195959Z
20END:VEVENT
21BEGIN:VEVENT
22UID:foo
23DTEND;TZID=Europe/Moscow:20130713T120000
24DTSTART;TZID=Europe/Moscow:20130713T110000
25RECURRENCE-ID;TZID=Europe/Moscow:20130711T110000
26END:VEVENT
27END:VCALENDAR
28ICS;
29
30        $vcal = Reader::read($input);
31        $this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
32
33        $it = new Recur\EventIterator($vcal, 'foo');
34
35        $result = iterator_to_array($it);
36
37        $tz = new DateTimeZone('Europe/Moscow');
38
39        $expected = array(
40            new DateTime('2013-07-10 11:00:00', $tz),
41            new DateTime('2013-07-12 11:00:00', $tz),
42            new DateTime('2013-07-13 11:00:00', $tz),
43        );
44
45        $this->assertEquals($expected, $result);
46
47    }
48
49}
50