annotate vendor/sabre/vobject/tests/VObject/Recur/RDateIteratorTest.php @ 40:3ea4a836c377

tweaks
author Charlie Root
date Fri, 24 Jan 2025 14:16:58 -0500
parents 430dbd5346f7
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;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 use DateTime;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6 use DateTimeZone;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8 class RDateIteratorTest 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 function testSimple() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 $utc = new DateTimeZone('UTC');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 $it = new RDateIterator('20140901T000000Z,20141001T000000Z', new DateTime('2014-08-01 00:00:00', $utc));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 $expected = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 new DateTime('2014-08-01 00:00:00', $utc),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 new DateTime('2014-09-01 00:00:00', $utc),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 new DateTime('2014-10-01 00:00:00', $utc),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 $this->assertEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 $expected,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 iterator_to_array($it)
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 $this->assertFalse($it->isInfinite());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 function testFastForward() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 $utc = new DateTimeZone('UTC');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 $it = new RDateIterator('20140901T000000Z,20141001T000000Z', new DateTime('2014-08-01 00:00:00', $utc));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 $it->fastForward(new DateTime('2014-08-15 00:00:00'));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 $result = array();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 while($it->valid()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 $result[] = $it->current();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 $it->next();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 $expected = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 new DateTime('2014-09-01 00:00:00', $utc),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 new DateTime('2014-10-01 00:00:00', $utc),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 $this->assertEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 $expected,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 $result
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 $this->assertFalse($it->isInfinite());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 }