aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php')
-rw-r--r--vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php128
1 files changed, 128 insertions, 0 deletions
diff --git a/vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php b/vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php
new file mode 100644
index 000000000..fdb012ba2
--- /dev/null
+++ b/vendor/sabre/vobject/tests/Sabre/VObject/Issue50Test.php
@@ -0,0 +1,128 @@
+<?php
+
+namespace Sabre\VObject;
+
+use
+ DateTime,
+ DateTimeZone;
+
+class Issue50Test extends \PHPUnit_Framework_TestCase {
+
+ function testExpand() {
+
+ $input = <<<ICS
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
+BEGIN:VTIMEZONE
+TZID:Europe/Brussels
+X-LIC-LOCATION:Europe/Brussels
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+0100
+TZOFFSETTO:+0200
+TZNAME:CEST
+DTSTART:19700329T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
+END:DAYLIGHT
+BEGIN:STANDARD
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0100
+TZNAME:CET
+DTSTART:19701025T030000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+CREATED:20130705T142510Z
+LAST-MODIFIED:20130715T132556Z
+DTSTAMP:20130715T132556Z
+UID:1aef0b27-3d92-4581-829a-11999dd36724
+SUMMARY:Werken
+RRULE:FREQ=DAILY;COUNT=5
+DTSTART;TZID=Europe/Brussels:20130715T090000
+DTEND;TZID=Europe/Brussels:20130715T170000
+LOCATION:Job
+DESCRIPTION:Vrij
+X-MOZ-GENERATION:9
+END:VEVENT
+BEGIN:VEVENT
+CREATED:20130715T081654Z
+LAST-MODIFIED:20130715T110931Z
+DTSTAMP:20130715T110931Z
+UID:1aef0b27-3d92-4581-829a-11999dd36724
+SUMMARY:Werken
+RECURRENCE-ID;TZID=Europe/Brussels:20130719T090000
+DTSTART;TZID=Europe/Brussels:20130719T070000
+DTEND;TZID=Europe/Brussels:20130719T150000
+SEQUENCE:1
+LOCATION:Job
+DESCRIPTION:Vrij
+X-MOZ-GENERATION:1
+END:VEVENT
+BEGIN:VEVENT
+CREATED:20130715T111654Z
+LAST-MODIFIED:20130715T132556Z
+DTSTAMP:20130715T132556Z
+UID:1aef0b27-3d92-4581-829a-11999dd36724
+SUMMARY:Werken
+RECURRENCE-ID;TZID=Europe/Brussels:20130716T090000
+DTSTART;TZID=Europe/Brussels:20130716T070000
+DTEND;TZID=Europe/Brussels:20130716T150000
+SEQUENCE:1
+LOCATION:Job
+X-MOZ-GENERATION:2
+END:VEVENT
+BEGIN:VEVENT
+CREATED:20130715T125942Z
+LAST-MODIFIED:20130715T130023Z
+DTSTAMP:20130715T130023Z
+UID:1aef0b27-3d92-4581-829a-11999dd36724
+SUMMARY:Werken
+RECURRENCE-ID;TZID=Europe/Brussels:20130717T090000
+DTSTART;TZID=Europe/Brussels:20130717T070000
+DTEND;TZID=Europe/Brussels:20130717T150000
+SEQUENCE:1
+LOCATION:Job
+X-MOZ-GENERATION:3
+END:VEVENT
+BEGIN:VEVENT
+CREATED:20130715T130024Z
+LAST-MODIFIED:20130715T130034Z
+DTSTAMP:20130715T130034Z
+UID:1aef0b27-3d92-4581-829a-11999dd36724
+SUMMARY:Werken
+RECURRENCE-ID;TZID=Europe/Brussels:20130718T090000
+DTSTART;TZID=Europe/Brussels:20130718T090000
+DTEND;TZID=Europe/Brussels:20130718T170000
+LOCATION:Job
+X-MOZ-GENERATION:5
+DESCRIPTION:Vrij
+END:VEVENT
+END:VCALENDAR
+ICS;
+
+ $vcal = Reader::read($input);
+ $this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
+
+ $it = new RecurrenceIterator($vcal, '1aef0b27-3d92-4581-829a-11999dd36724');
+
+ $result = array();
+ foreach($it as $instance) {
+
+ $result[] = $instance;
+
+ }
+
+ $tz = new DateTimeZone('Europe/Brussels');
+
+ $this->assertEquals(array(
+ new DateTime('2013-07-15 09:00:00', $tz),
+ new DateTime('2013-07-16 07:00:00', $tz),
+ new DateTime('2013-07-17 07:00:00', $tz),
+ new DateTime('2013-07-18 09:00:00', $tz),
+ new DateTime('2013-07-19 07:00:00', $tz),
+ ), $result);
+
+ }
+
+}