ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ExpandFloatingTimesTest.php
Go to the documentation of this file.
1<?php
2
4
5use DateTime;
6use DateTimeZone;
7use PHPUnit\Framework\TestCase;
9
10class ExpandFloatingTimesTest extends TestCase {
11
12 use \Sabre\VObject\PHPUnitAssertions;
13
14 function testExpand() {
15
16 $input = <<<ICS
17BEGIN:VCALENDAR
18VERSION:2.0
19BEGIN:VEVENT
20UID:foo
21DTSTART:20150109T090000
22DTEND:20150109T100000
23RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20191002T070000Z;BYDAY=FR
24END:VEVENT
25END:VCALENDAR
26ICS;
27
29 $this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
30
31 $vcal = $vcal->expand(new DateTime('2015-01-01'), new DateTime('2015-01-31'));
32 $output = <<<ICS
33BEGIN:VCALENDAR
34VERSION:2.0
35BEGIN:VEVENT
36UID:foo
37DTSTART:20150109T090000Z
38DTEND:20150109T100000Z
39RECURRENCE-ID:20150109T090000Z
40END:VEVENT
41BEGIN:VEVENT
42UID:foo
43DTSTART:20150116T090000Z
44DTEND:20150116T100000Z
45RECURRENCE-ID:20150116T090000Z
46END:VEVENT
47BEGIN:VEVENT
48UID:foo
49DTSTART:20150123T090000Z
50DTEND:20150123T100000Z
51RECURRENCE-ID:20150123T090000Z
52END:VEVENT
53BEGIN:VEVENT
54UID:foo
55DTSTART:20150130T090000Z
56DTEND:20150130T100000Z
57RECURRENCE-ID:20150130T090000Z
58END:VEVENT
59END:VCALENDAR
60
61ICS;
62 $this->assertVObjectEqualsVObject($output, $vcal);
63
64 }
65
67
68 $input = <<<ICS
69BEGIN:VCALENDAR
70VERSION:2.0
71BEGIN:VEVENT
72UID:foo
73DTSTART:20150109T090000
74DTEND:20150109T100000
75RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20191002T070000Z;BYDAY=FR
76END:VEVENT
77END:VCALENDAR
78ICS;
79
81 $this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
82
83 $vcal = $vcal->expand(
84 new DateTime('2015-01-01'),
85 new DateTime('2015-01-31'),
86 new DateTimeZone('Europe/Berlin')
87 );
88
89 $output = <<<ICS
90BEGIN:VCALENDAR
91VERSION:2.0
92BEGIN:VEVENT
93UID:foo
94DTSTART:20150109T080000Z
95DTEND:20150109T090000Z
96RECURRENCE-ID:20150109T080000Z
97END:VEVENT
98BEGIN:VEVENT
99UID:foo
100DTSTART:20150116T080000Z
101DTEND:20150116T090000Z
102RECURRENCE-ID:20150116T080000Z
103END:VEVENT
104BEGIN:VEVENT
105UID:foo
106DTSTART:20150123T080000Z
107DTEND:20150123T090000Z
108RECURRENCE-ID:20150123T080000Z
109END:VEVENT
110BEGIN:VEVENT
111UID:foo
112DTSTART:20150130T080000Z
113DTEND:20150130T090000Z
114RECURRENCE-ID:20150130T080000Z
115END:VEVENT
116END:VCALENDAR
117
118ICS;
119 $this->assertVObjectEqualsVObject($output, $vcal);
120
121 }
122
123}
An exception for terminatinating execution or to throw for unit testing.
iCalendar/vCard/jCal/jCard/xCal/xCard reader object.
Definition: Reader.php:15
static read($data, $options=0, $charset='UTF-8')
Parses a vCard or iCalendar object, and returns the top component.
Definition: Reader.php:42
foreach($paths as $path) if($argc< 3) $input