Files
Chamilo/vendor/sabre/vobject/tests/VObject/Recur/RDateIteratorTest.php
2025-08-14 22:41:49 +02:00

57 lines
1.3 KiB
PHP

<?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());
}
}