mirror of
https://github.com/rlanvin/php-rrule.git
synced 2025-02-26 15:54:14 +01:00
Fix typos and update CHANGELOG for 2.2.2
This commit is contained in:
parent
cf4fc8e827
commit
63b55000b4
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.2.2] - 2021-01-09
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix `getOccurrencesAfter` returns empty array when `$inclusive` is `false` and `$limit` is not set [#93](https://github.com/rlanvin/php-rrule/pull/93)
|
||||||
|
|
||||||
## [2.2.1] - 2020-12-09
|
## [2.2.1] - 2020-12-09
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
@ -196,7 +202,8 @@
|
|||||||
|
|
||||||
- First release, everything before that was unversioned (`dev-master` was used).
|
- First release, everything before that was unversioned (`dev-master` was used).
|
||||||
|
|
||||||
[Unreleased]: https://github.com/rlanvin/php-rrule/compare/v2.2.1...HEAD
|
[Unreleased]: https://github.com/rlanvin/php-rrule/compare/v2.2.2...HEAD
|
||||||
|
[2.2.2]: https://github.com/rlanvin/php-rrule/compare/v2.2.1...v2.2.2
|
||||||
[2.2.1]: https://github.com/rlanvin/php-rrule/compare/v2.2.0...v2.2.1
|
[2.2.1]: https://github.com/rlanvin/php-rrule/compare/v2.2.0...v2.2.1
|
||||||
[2.2.0]: https://github.com/rlanvin/php-rrule/compare/v2.1.0...v2.2.0
|
[2.2.0]: https://github.com/rlanvin/php-rrule/compare/v2.1.0...v2.2.0
|
||||||
[2.1.0]: https://github.com/rlanvin/php-rrule/compare/v2.0.0...v2.1.0
|
[2.1.0]: https://github.com/rlanvin/php-rrule/compare/v2.0.0...v2.1.0
|
||||||
|
@ -1314,7 +1314,7 @@ class RRule implements RRuleInterface
|
|||||||
* at year 1 to Jan 1st 10.00 at year 2.
|
* at year 1 to Jan 1st 10.00 at year 2.
|
||||||
*
|
*
|
||||||
* In order to make a "smart jump", we would have to have a way to determine
|
* In order to make a "smart jump", we would have to have a way to determine
|
||||||
* the gap between the next occurence arithmetically. I think that would require
|
* the gap between the next occurrence arithmetically. I think that would require
|
||||||
* to analyze each "BYXXX" rule part that "Limit" the set (see the RFC page 43)
|
* to analyze each "BYXXX" rule part that "Limit" the set (see the RFC page 43)
|
||||||
* at the given frequency. For example, a YEARLY frequency doesn't need "smart
|
* at the given frequency. For example, a YEARLY frequency doesn't need "smart
|
||||||
* jump" at all; MONTHLY and WEEKLY frequencies only need to check BYMONTH;
|
* jump" at all; MONTHLY and WEEKLY frequencies only need to check BYMONTH;
|
||||||
|
@ -99,7 +99,7 @@ trait RRuleTrait
|
|||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getOccurrencesAfter($date, $inclusive = false, $limit = null)
|
public function getOccurrencesAfter($date, $inclusive = false, $limit = null)
|
||||||
{
|
{
|
||||||
if ($inclusive || ! $this->occursAt($date)) {
|
if ($inclusive || ! $this->occursAt($date)) {
|
||||||
return $this->getOccurrencesBetween($date, null, $limit);
|
return $this->getOccurrencesBetween($date, null, $limit);
|
||||||
|
@ -1253,7 +1253,7 @@ class RRuleTest extends TestCase
|
|||||||
date_create('1999-03-11 09:00:00'),
|
date_create('1999-03-11 09:00:00'),
|
||||||
date_create('1999-03-12 09:00:00'),
|
date_create('1999-03-12 09:00:00'),
|
||||||
date_create('1999-03-13 09:00:00'))),
|
date_create('1999-03-13 09:00:00'))),
|
||||||
// Every Tuesday, every other month, 6 occurences.
|
// Every Tuesday, every other month, 6 occurrences.
|
||||||
array(
|
array(
|
||||||
array('freq' => 'monthly', 'count' => 6, 'interval' => 2, 'byday' => 'TU', 'dtstart' => '1997-09-02 09:00:00'),
|
array('freq' => 'monthly', 'count' => 6, 'interval' => 2, 'byday' => 'TU', 'dtstart' => '1997-09-02 09:00:00'),
|
||||||
array(date_create('1997-09-02 09:00:00'),
|
array(date_create('1997-09-02 09:00:00'),
|
||||||
@ -1501,7 +1501,7 @@ class RRuleTest extends TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rules that generate no occurence, because of a bad combination of BYXXX parts
|
* Rules that generate no occurrence, because of a bad combination of BYXXX parts
|
||||||
* This tests are here to ensure that the lib will not go into an infinite loop.
|
* This tests are here to ensure that the lib will not go into an infinite loop.
|
||||||
*/
|
*/
|
||||||
public function rulesWithoutOccurrences()
|
public function rulesWithoutOccurrences()
|
||||||
@ -1525,7 +1525,7 @@ class RRuleTest extends TestCase
|
|||||||
'count' => 1
|
'count' => 1
|
||||||
)),
|
)),
|
||||||
|
|
||||||
// haven't found a weekly rule with no occurence yet
|
// haven't found a weekly rule with no occurrence yet
|
||||||
|
|
||||||
// every 7 days, monday, starting a wednesday (still nope)
|
// every 7 days, monday, starting a wednesday (still nope)
|
||||||
array(array(
|
array(array(
|
||||||
@ -1785,10 +1785,10 @@ class RRuleTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @dataProvider notOccurrences
|
* @dataProvider notOccurrences
|
||||||
*/
|
*/
|
||||||
public function testNotOccurrences($rule, $not_occurences)
|
public function testNotOccurrences($rule, $not_occurrences)
|
||||||
{
|
{
|
||||||
$rule = new RRule($rule);
|
$rule = new RRule($rule);
|
||||||
foreach ($not_occurences as $date) {
|
foreach ($not_occurrences as $date) {
|
||||||
$this->assertFalse($rule->occursAt($date), "Rule must not match $date");
|
$this->assertFalse($rule->occursAt($date), "Rule must not match $date");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1912,6 +1912,7 @@ class RRuleTest extends TestCase
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
["DTSTART:20170101\nRRULE:FREQ=DAILY;UNTIL=20170103", '2017-01-01', false, null, [date_create('2017-01-02'), date_create('2017-01-03')]],
|
["DTSTART:20170101\nRRULE:FREQ=DAILY;UNTIL=20170103", '2017-01-01', false, null, [date_create('2017-01-02'), date_create('2017-01-03')]],
|
||||||
|
["DTSTART:20170101\nRRULE:FREQ=DAILY;UNTIL=20170103", '2017-01-01', true, null, [date_create('2017-01-01'), date_create('2017-01-02'), date_create('2017-01-03')]],
|
||||||
["DTSTART:20170101\nRRULE:FREQ=DAILY", '2017-02-01', false, 2, [date_create('2017-02-02'),date_create('2017-02-03')]],
|
["DTSTART:20170101\nRRULE:FREQ=DAILY", '2017-02-01', false, 2, [date_create('2017-02-02'),date_create('2017-02-03')]],
|
||||||
["DTSTART:20170101\nRRULE:FREQ=DAILY", '2017-02-01', true, 2, [date_create('2017-02-01'),date_create('2017-02-02')]],
|
["DTSTART:20170101\nRRULE:FREQ=DAILY", '2017-02-01', true, 2, [date_create('2017-02-01'),date_create('2017-02-02')]],
|
||||||
["DTSTART:20170101\nRRULE:FREQ=DAILY;INTERVAL=2", '2017-01-02', true, 2, [date_create('2017-01-03'),date_create('2017-01-05')]],
|
["DTSTART:20170101\nRRULE:FREQ=DAILY;INTERVAL=2", '2017-01-02', true, 2, [date_create('2017-01-03'),date_create('2017-01-05')]],
|
||||||
@ -1929,6 +1930,17 @@ class RRuleTest extends TestCase
|
|||||||
$this->assertEquals($expected, $occurrences);
|
$this->assertEquals($expected, $occurrences);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetOccurrencesAfterThrowsLogicException()
|
||||||
|
{
|
||||||
|
$this->expectException(\LogicException::class);
|
||||||
|
$this->expectExceptionMessage("Cannot get all occurrences of an infinite recurrence rule.");
|
||||||
|
$rrule = new RRule(array(
|
||||||
|
'FREQ' => 'DAILY',
|
||||||
|
'DTSTART' => '2017-01-01'
|
||||||
|
));
|
||||||
|
$rrule->getOccurrencesAfter('2017-01-01');
|
||||||
|
}
|
||||||
|
|
||||||
public function occurrencesBefore()
|
public function occurrencesBefore()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@ -2730,31 +2742,31 @@ class RRuleTest extends TestCase
|
|||||||
$occurrence->modify('+1 day');
|
$occurrence->modify('+1 day');
|
||||||
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with foreach (cached)');
|
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with foreach (cached)');
|
||||||
|
|
||||||
// getOccurences
|
// getOccurrences
|
||||||
$occurrences = $rrule->getOccurrences();
|
$occurrences = $rrule->getOccurrences();
|
||||||
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
||||||
$occurrences[0]->modify('+1 day');
|
$occurrences[0]->modify('+1 day');
|
||||||
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurences (uncached version)');
|
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurrences (uncached version)');
|
||||||
|
|
||||||
$occurrences = $rrule->getOccurrences();
|
$occurrences = $rrule->getOccurrences();
|
||||||
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
||||||
$occurrences[0]->modify('+1 day');
|
$occurrences[0]->modify('+1 day');
|
||||||
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurences (cached version)');
|
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurrences (cached version)');
|
||||||
|
|
||||||
// getOccurrencesBetween
|
// getOccurrencesBetween
|
||||||
$occurrences = $rrule->getOccurrencesBetween(null, null);
|
$occurrences = $rrule->getOccurrencesBetween(null, null);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
||||||
$occurrences[0]->modify('+1 day');
|
$occurrences[0]->modify('+1 day');
|
||||||
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurences (uncached version)');
|
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurrences (uncached version)');
|
||||||
|
|
||||||
$occurrences = $rrule->getOccurrencesBetween(null, null);
|
$occurrences = $rrule->getOccurrencesBetween(null, null);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-01'), $occurrences[0]);
|
||||||
$occurrences[0]->modify('+1 day');
|
$occurrences[0]->modify('+1 day');
|
||||||
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
$this->assertEquals(date_create('2007-01-02'), $occurrences[0]);
|
||||||
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurences (cached version)');
|
$this->assertEquals(date_create('2007-01-01'), $rrule[0], 'No modification possible with getOccurrences (cached version)');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetRule()
|
public function testGetRule()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user