annotate vendor/sabre/vobject/tests/VObject/Recur/EventIterator/FifthTuesdayProblemTest.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\Recur\EventIterator;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 use Sabre\VObject\Recur;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6 use Sabre\VObject\Reader;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8 class FifthTuesdayProblemTest extends \PHPUnit_Framework_TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 * A pretty slow test. Had to be marked as 'medium' for phpunit to not die
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 * after 1 second. Would be good to optimize later.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 * @medium
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 function testGetDTEnd() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 $ics = <<<ICS
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 VERSION:2.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 PRODID:-//Apple Inc.//iCal 4.0.4//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 CALSCALE:GREGORIAN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 TRANSP:OPAQUE
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 DTEND;TZID=America/New_York:20070925T170000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 UID:uuid
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 DTSTAMP:19700101T000000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 LOCATION:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 DESCRIPTION:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 STATUS:CONFIRMED
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 SEQUENCE:18
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 SUMMARY:Stuff
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 DTSTART;TZID=America/New_York:20070925T160000
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 CREATED:20071004T144642Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 RRULE:FREQ=MONTHLY;INTERVAL=1;UNTIL=20071030T035959Z;BYDAY=5TU
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 ICS;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 $vObject = Reader::read($ics);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 $it = new Recur\EventIterator($vObject, (string)$vObject->VEVENT->UID);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 while($it->valid()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 $it->next();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 // If we got here, it means we were successful. The bug that was in the
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 // system before would fail on the 5th tuesday of the month, if the 5th
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 // tuesday did not exist.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 $this->assertTrue(true);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 }