2012-06-03 14:19:28 -04:00
|
|
|
<?php
|
|
|
|
|
2012-08-11 04:07:19 -04:00
|
|
|
namespace Sabre\VObject;
|
|
|
|
|
|
|
|
class RecurrenceIteratorFifthTuesdayProblemTest extends \PHPUnit_Framework_TestCase {
|
2012-06-03 14:19:28 -04:00
|
|
|
|
|
|
|
function testGetDTEnd() {
|
|
|
|
|
|
|
|
$ics = <<<ICS
|
|
|
|
BEGIN:VCALENDAR
|
|
|
|
VERSION:2.0
|
|
|
|
PRODID:-//Apple Inc.//iCal 4.0.4//EN
|
|
|
|
CALSCALE:GREGORIAN
|
|
|
|
BEGIN:VEVENT
|
|
|
|
TRANSP:OPAQUE
|
|
|
|
DTEND;TZID=America/New_York:20070925T170000
|
|
|
|
UID:uuid
|
|
|
|
DTSTAMP:19700101T000000Z
|
|
|
|
LOCATION:
|
|
|
|
DESCRIPTION:
|
|
|
|
STATUS:CONFIRMED
|
|
|
|
SEQUENCE:18
|
|
|
|
SUMMARY:Stuff
|
|
|
|
DTSTART;TZID=America/New_York:20070925T160000
|
|
|
|
CREATED:20071004T144642Z
|
|
|
|
RRULE:FREQ=MONTHLY;INTERVAL=1;UNTIL=20071030T035959Z;BYDAY=5TU
|
|
|
|
END:VEVENT
|
|
|
|
END:VCALENDAR
|
|
|
|
ICS;
|
|
|
|
|
2012-08-11 04:07:19 -04:00
|
|
|
$vObject = Reader::read($ics);
|
|
|
|
$it = new RecurrenceIterator($vObject, (string)$vObject->VEVENT->UID);
|
2012-06-03 14:19:28 -04:00
|
|
|
|
|
|
|
while($it->valid()) {
|
|
|
|
$it->next();
|
|
|
|
}
|
|
|
|
|
|
|
|
// If we got here, it means we were successful. The bug that was in teh
|
|
|
|
// system before would fail on the 5th tuesday of the month, if the 5th
|
|
|
|
// tuesday did not exist.
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|