diff vendor/sabre/vobject/tests/VObject/Recur/RDateIteratorTest.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/sabre/vobject/tests/VObject/Recur/RDateIteratorTest.php	Sat Jan 13 09:06:10 2018 -0500
@@ -0,0 +1,56 @@
+<?php
+
+namespace Sabre\VObject\Recur;
+
+use DateTime;
+use DateTimeZone;
+
+class RDateIteratorTest extends \PHPUnit_Framework_TestCase {
+
+    function testSimple() {
+
+        $utc = new DateTimeZone('UTC');
+        $it = new RDateIterator('20140901T000000Z,20141001T000000Z', new DateTime('2014-08-01 00:00:00', $utc));
+
+        $expected = array(
+            new DateTime('2014-08-01 00:00:00', $utc),
+            new DateTime('2014-09-01 00:00:00', $utc),
+            new DateTime('2014-10-01 00:00:00', $utc),
+        );
+
+        $this->assertEquals(
+            $expected,
+            iterator_to_array($it)
+        );
+
+        $this->assertFalse($it->isInfinite());
+
+    }
+
+    function testFastForward() {
+
+        $utc = new DateTimeZone('UTC');
+        $it = new RDateIterator('20140901T000000Z,20141001T000000Z', new DateTime('2014-08-01 00:00:00', $utc));
+
+        $it->fastForward(new DateTime('2014-08-15 00:00:00'));
+
+        $result = array();
+        while($it->valid()) {
+            $result[] = $it->current();
+            $it->next();
+        }
+
+        $expected = array(
+            new DateTime('2014-09-01 00:00:00', $utc),
+            new DateTime('2014-10-01 00:00:00', $utc),
+        );
+
+        $this->assertEquals(
+            $expected,
+            $result
+        );
+
+        $this->assertFalse($it->isInfinite());
+
+    }
+}