ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Sabre\VObject\Recur\RRuleIteratorTest Class Reference
+ Inheritance diagram for Sabre\VObject\Recur\RRuleIteratorTest:
+ Collaboration diagram for Sabre\VObject\Recur\RRuleIteratorTest:

Public Member Functions

 testHourly ()
 
 testDaily ()
 
 testDailyByDayByHour ()
 
 testDailyByHour ()
 
 testDailyByDay ()
 
 testDailyCount ()
 
 testDailyByMonth ()
 
 testWeekly ()
 
 testWeeklyByDay ()
 
 testWeeklyByDay2 ()
 
 testWeeklyByDayByHour ()
 
 testWeeklyByDaySpecificHour ()
 
 testMonthly ()
 
 testMonlthyEndOfMonth ()
 
 testMonthlyByMonthDay ()
 
 testMonthlyByDay ()
 
 testMonthlyByDayByMonthDay ()
 
 testMonthlyByDayBySetPos ()
 
 testYearly ()
 
 testYearlyLeapYear ()
 
 testYearlyByMonth ()
 
 testYearlyByMonthInvalidValue1 ()
 
 testYearlyByMonthInvalidValue2 ()
 
 testYearlyByMonthManyInvalidValues ()
 
 testYearlyByMonthEmptyValue ()
 
 testYearlyByMonthByDay ()
 
 testYearlyByYearDay ()
 
 testYearlyByYearDayImmutable ()
 
 testYearlyByYearDayMultiple ()
 
 testYearlyByYearDayByDay ()
 
 testYearlyByYearDayNegative ()
 
 testYearlyByYearDayInvalid390 ()
 
 testYearlyByYearDayInvalid0 ()
 
 testFastForward ()
 
 testFifthTuesdayProblem ()
 The bug that was in the system before would fail on the 5th tuesday of the month, if the 5th tuesday did not exist. More...
 
 testFastFowardTooFar ()
 This bug came from a Fruux customer. More...
 
 testValidByWeekNo ()
 
 testNegativeValidByWeekNo ()
 
 testTwoValidByWeekNo ()
 
 testValidByWeekNoByDayDefault ()
 
 testMultipleValidByWeekNo ()
 
 testInvalidByWeekNo ()
 
 testYearlyByMonthLoop ()
 This also at one point caused an infinite loop. More...
 
 testZeroInterval ()
 Something, somewhere produced an ics with an interval set to 0. More...
 
 testInvalidFreq ()
 
 testByDayBadOffset ()
 
 testUntilBeginHasTimezone ()
 
 testUntilBeforeDtStart ()
 
 testIgnoredStuff ()
 
 testMinusFifthThursday ()
 
 testUnsupportedPart ()
 
 testIteratorFunctions ()
 
 parse ($rule, $start, $expected, $fastForward=null, $tz='UTC')
 

Detailed Description

Definition at line 10 of file RRuleIteratorTest.php.

Member Function Documentation

◆ parse()

Sabre\VObject\Recur\RRuleIteratorTest::parse (   $rule,
  $start,
  $expected,
  $fastForward = null,
  $tz = 'UTC' 
)

Definition at line 986 of file RRuleIteratorTest.php.

References $parser, $result, $rule, $start, and $tz.

Referenced by Sabre\VObject\Recur\RRuleIteratorTest\testByDayBadOffset(), Sabre\VObject\Recur\RRuleIteratorTest\testDaily(), Sabre\VObject\Recur\RRuleIteratorTest\testDailyByDay(), Sabre\VObject\Recur\RRuleIteratorTest\testDailyByDayByHour(), Sabre\VObject\Recur\RRuleIteratorTest\testDailyByHour(), Sabre\VObject\Recur\RRuleIteratorTest\testDailyByMonth(), Sabre\VObject\Recur\RRuleIteratorTest\testDailyCount(), Sabre\VObject\Recur\RRuleIteratorTest\testFastForward(), Sabre\VObject\Recur\RRuleIteratorTest\testFastFowardTooFar(), Sabre\VObject\Recur\RRuleIteratorTest\testFifthTuesdayProblem(), Sabre\VObject\Recur\RRuleIteratorTest\testHourly(), Sabre\VObject\Recur\RRuleIteratorTest\testIgnoredStuff(), Sabre\VObject\Recur\RRuleIteratorTest\testInvalidByWeekNo(), Sabre\VObject\Recur\RRuleIteratorTest\testInvalidFreq(), Sabre\VObject\Recur\RRuleIteratorTest\testMinusFifthThursday(), Sabre\VObject\Recur\RRuleIteratorTest\testMonlthyEndOfMonth(), Sabre\VObject\Recur\RRuleIteratorTest\testMonthly(), Sabre\VObject\Recur\RRuleIteratorTest\testMonthlyByDay(), Sabre\VObject\Recur\RRuleIteratorTest\testMonthlyByDayByMonthDay(), Sabre\VObject\Recur\RRuleIteratorTest\testMonthlyByDayBySetPos(), Sabre\VObject\Recur\RRuleIteratorTest\testMonthlyByMonthDay(), Sabre\VObject\Recur\RRuleIteratorTest\testMultipleValidByWeekNo(), Sabre\VObject\Recur\RRuleIteratorTest\testNegativeValidByWeekNo(), Sabre\VObject\Recur\RRuleIteratorTest\testTwoValidByWeekNo(), Sabre\VObject\Recur\RRuleIteratorTest\testUnsupportedPart(), Sabre\VObject\Recur\RRuleIteratorTest\testUntilBeforeDtStart(), Sabre\VObject\Recur\RRuleIteratorTest\testUntilBeginHasTimezone(), Sabre\VObject\Recur\RRuleIteratorTest\testValidByWeekNo(), Sabre\VObject\Recur\RRuleIteratorTest\testValidByWeekNoByDayDefault(), Sabre\VObject\Recur\RRuleIteratorTest\testWeekly(), Sabre\VObject\Recur\RRuleIteratorTest\testWeeklyByDay(), Sabre\VObject\Recur\RRuleIteratorTest\testWeeklyByDay2(), Sabre\VObject\Recur\RRuleIteratorTest\testWeeklyByDayByHour(), Sabre\VObject\Recur\RRuleIteratorTest\testWeeklyByDaySpecificHour(), Sabre\VObject\Recur\RRuleIteratorTest\testYearly(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonth(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthByDay(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthEmptyValue(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthInvalidValue1(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthInvalidValue2(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthLoop(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByMonthManyInvalidValues(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDay(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDayByDay(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDayInvalid0(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDayInvalid390(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDayMultiple(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyByYearDayNegative(), Sabre\VObject\Recur\RRuleIteratorTest\testYearlyLeapYear(), and Sabre\VObject\Recur\RRuleIteratorTest\testZeroInterval().

986  {
987 
988  $dt = new DateTime($start, new DateTimeZone($tz));
989  $parser = new RRuleIterator($rule, $dt);
990 
991  if ($fastForward) {
992  $parser->fastForward(new DateTime($fastForward));
993  }
994 
995  $result = [];
996  while ($parser->valid()) {
997 
998  $item = $parser->current();
999  $result[] = $item->format('Y-m-d H:i:s');
1000 
1001  if ($parser->isInfinite() && count($result) >= count($expected)) {
1002  break;
1003  }
1004  $parser->next();
1005 
1006  }
1007 
1008  $this->assertEquals(
1009  $expected,
1010  $result
1011  );
1012 
1013  }
$result
$start
Definition: bench.php:8
$rule
Definition: showstats.php:43
$parser
Definition: BPMN2Parser.php:23
+ Here is the caller graph for this function:

◆ testByDayBadOffset()

Sabre\VObject\Recur\RRuleIteratorTest::testByDayBadOffset ( )

Definition at line 875 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

875  {
876 
877  $this->parse(
878  'FREQ=WEEKLY;INTERVAL=1;COUNT=4;BYDAY=0MO;WKST=SA',
879  '2014-08-01 00:00:00',
880  []
881  );
882 
883  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDaily()

Sabre\VObject\Recur\RRuleIteratorTest::testDaily ( )

Definition at line 35 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

35  {
36 
37  $this->parse(
38  'FREQ=DAILY;INTERVAL=3;UNTIL=20111025T000000Z',
39  '2011-10-07',
40  [
41  '2011-10-07 00:00:00',
42  '2011-10-10 00:00:00',
43  '2011-10-13 00:00:00',
44  '2011-10-16 00:00:00',
45  '2011-10-19 00:00:00',
46  '2011-10-22 00:00:00',
47  '2011-10-25 00:00:00',
48  ]
49  );
50 
51  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDailyByDay()

Sabre\VObject\Recur\RRuleIteratorTest::testDailyByDay ( )

Definition at line 99 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

99  {
100 
101  $this->parse(
102  'FREQ=DAILY;INTERVAL=2;BYDAY=TU,WE,FR',
103  '2011-10-07 12:00:00',
104  [
105  '2011-10-07 12:00:00',
106  '2011-10-11 12:00:00',
107  '2011-10-19 12:00:00',
108  '2011-10-21 12:00:00',
109  '2011-10-25 12:00:00',
110  '2011-11-02 12:00:00',
111  '2011-11-04 12:00:00',
112  '2011-11-08 12:00:00',
113  '2011-11-16 12:00:00',
114  '2011-11-18 12:00:00',
115  '2011-11-22 12:00:00',
116  '2011-11-30 12:00:00',
117  ]
118  );
119 
120  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDailyByDayByHour()

Sabre\VObject\Recur\RRuleIteratorTest::testDailyByDayByHour ( )

Definition at line 53 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

53  {
54 
55  $this->parse(
56  'FREQ=DAILY;BYDAY=SA,SU;BYHOUR=6,7',
57  '2011-10-08 06:00:00',
58  [
59  '2011-10-08 06:00:00',
60  '2011-10-08 07:00:00',
61  '2011-10-09 06:00:00',
62  '2011-10-09 07:00:00',
63  '2011-10-15 06:00:00',
64  '2011-10-15 07:00:00',
65  '2011-10-16 06:00:00',
66  '2011-10-16 07:00:00',
67  '2011-10-22 06:00:00',
68  '2011-10-22 07:00:00',
69  '2011-10-23 06:00:00',
70  '2011-10-23 07:00:00',
71  ]
72  );
73 
74  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDailyByHour()

Sabre\VObject\Recur\RRuleIteratorTest::testDailyByHour ( )

Definition at line 76 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

76  {
77 
78  $this->parse(
79  'FREQ=DAILY;INTERVAL=2;BYHOUR=10,11,12,13,14,15',
80  '2012-10-11 12:00:00',
81  [
82  '2012-10-11 12:00:00',
83  '2012-10-11 13:00:00',
84  '2012-10-11 14:00:00',
85  '2012-10-11 15:00:00',
86  '2012-10-13 10:00:00',
87  '2012-10-13 11:00:00',
88  '2012-10-13 12:00:00',
89  '2012-10-13 13:00:00',
90  '2012-10-13 14:00:00',
91  '2012-10-13 15:00:00',
92  '2012-10-15 10:00:00',
93  '2012-10-15 11:00:00',
94  ]
95  );
96 
97  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDailyByMonth()

Sabre\VObject\Recur\RRuleIteratorTest::testDailyByMonth ( )

Definition at line 138 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

138  {
139 
140  $this->parse(
141  'FREQ=DAILY;BYMONTH=9,10;BYDAY=SU',
142  '2007-10-04 16:00:00',
143  [
144  '2013-09-29 16:00:00',
145  '2013-10-06 16:00:00',
146  '2013-10-13 16:00:00',
147  '2013-10-20 16:00:00',
148  '2013-10-27 16:00:00',
149  '2014-09-07 16:00:00'
150  ],
151  '2013-09-28'
152  );
153 
154  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testDailyCount()

Sabre\VObject\Recur\RRuleIteratorTest::testDailyCount ( )

Definition at line 122 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

122  {
123 
124  $this->parse(
125  'FREQ=DAILY;COUNT=5',
126  '2014-08-01 18:03:00',
127  [
128  '2014-08-01 18:03:00',
129  '2014-08-02 18:03:00',
130  '2014-08-03 18:03:00',
131  '2014-08-04 18:03:00',
132  '2014-08-05 18:03:00',
133  ]
134  );
135 
136  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testFastForward()

Sabre\VObject\Recur\RRuleIteratorTest::testFastForward ( )

Definition at line 634 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

634  {
635 
636  // The idea is that we're fast-forwarding too far in the future, so
637  // there will be no results left.
638  $this->parse(
639  'FREQ=YEARLY;COUNT=8;INTERVAL=5;BYMONTH=4,10;BYDAY=1MO,-1SU',
640  '2011-04-04 00:00:00',
641  [],
642  '2020-05-05 00:00:00'
643  );
644 
645  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testFastFowardTooFar()

Sabre\VObject\Recur\RRuleIteratorTest::testFastFowardTooFar ( )

This bug came from a Fruux customer.

This would result in a never-ending request.

Definition at line 673 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

673  {
674 
675  $this->parse(
676  'FREQ=WEEKLY;BYDAY=MO;UNTIL=20090704T205959Z;INTERVAL=1',
677  '2009-04-20 18:00:00',
678  [
679  '2009-04-20 18:00:00',
680  '2009-04-27 18:00:00',
681  '2009-05-04 18:00:00',
682  '2009-05-11 18:00:00',
683  '2009-05-18 18:00:00',
684  '2009-05-25 18:00:00',
685  '2009-06-01 18:00:00',
686  '2009-06-08 18:00:00',
687  '2009-06-15 18:00:00',
688  '2009-06-22 18:00:00',
689  '2009-06-29 18:00:00',
690  ]
691  );
692 
693  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testFifthTuesdayProblem()

Sabre\VObject\Recur\RRuleIteratorTest::testFifthTuesdayProblem ( )

The bug that was in the system before would fail on the 5th tuesday of the month, if the 5th tuesday did not exist.

A pretty slow test. Had to be marked as 'medium' for phpunit to not die after 1 second. Would be good to optimize later.

Definition at line 657 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

657  {
658 
659  $this->parse(
660  'FREQ=MONTHLY;INTERVAL=1;UNTIL=20071030T035959Z;BYDAY=5TU',
661  '2007-10-04 14:46:42',
662  [
663  '2007-10-04 14:46:42',
664  ]
665  );
666 
667  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testHourly()

Sabre\VObject\Recur\RRuleIteratorTest::testHourly ( )

Definition at line 12 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

12  {
13 
14  $this->parse(
15  'FREQ=HOURLY;INTERVAL=3;COUNT=12',
16  '2011-10-07 12:00:00',
17  [
18  '2011-10-07 12:00:00',
19  '2011-10-07 15:00:00',
20  '2011-10-07 18:00:00',
21  '2011-10-07 21:00:00',
22  '2011-10-08 00:00:00',
23  '2011-10-08 03:00:00',
24  '2011-10-08 06:00:00',
25  '2011-10-08 09:00:00',
26  '2011-10-08 12:00:00',
27  '2011-10-08 15:00:00',
28  '2011-10-08 18:00:00',
29  '2011-10-08 21:00:00',
30  ]
31  );
32 
33  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testIgnoredStuff()

Sabre\VObject\Recur\RRuleIteratorTest::testIgnoredStuff ( )

Definition at line 919 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

919  {
920 
921  $this->parse(
922  'FREQ=DAILY;BYSECOND=1;BYMINUTE=1;BYYEARDAY=1;BYWEEKNO=1;COUNT=2',
923  '2014-08-02 00:15:00',
924  [
925  '2014-08-02 00:15:00',
926  '2014-08-03 00:15:00',
927  ]
928  );
929 
930  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testInvalidByWeekNo()

Sabre\VObject\Recur\RRuleIteratorTest::testInvalidByWeekNo ( )

Definition at line 813 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

813  {
814 
815  $this->parse(
816  'FREQ=YEARLY;BYWEEKNO=54',
817  '2011-05-16 00:00:00',
818  [
819  ]
820  );
821 
822  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testInvalidFreq()

Sabre\VObject\Recur\RRuleIteratorTest::testInvalidFreq ( )

Definition at line 862 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

862  {
863 
864  $this->parse(
865  'FREQ=SMONTHLY;INTERVAL=3;UNTIL=20111025T000000Z',
866  '2011-10-07',
867  []
868  );
869 
870  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testIteratorFunctions()

Sabre\VObject\Recur\RRuleIteratorTest::testIteratorFunctions ( )

Definition at line 960 of file RRuleIteratorTest.php.

References $parser.

960  {
961 
962  $parser = new RRuleIterator('FREQ=DAILY', new DateTime('2014-08-02 00:00:13'));
963  $parser->next();
964  $this->assertEquals(
965  new DateTime('2014-08-03 00:00:13'),
966  $parser->current()
967  );
968  $this->assertEquals(
969  1,
970  $parser->key()
971  );
972 
973  $parser->rewind();
974 
975  $this->assertEquals(
976  new DateTime('2014-08-02 00:00:13'),
977  $parser->current()
978  );
979  $this->assertEquals(
980  0,
981  $parser->key()
982  );
983 
984  }
$parser
Definition: BPMN2Parser.php:23

◆ testMinusFifthThursday()

Sabre\VObject\Recur\RRuleIteratorTest::testMinusFifthThursday ( )

Definition at line 932 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

932  {
933 
934  $this->parse(
935  'FREQ=MONTHLY;BYDAY=-4TH,-5TH;COUNT=4',
936  '2015-01-01 00:15:00',
937  [
938  '2015-01-01 00:15:00',
939  '2015-01-08 00:15:00',
940  '2015-02-05 00:15:00',
941  '2015-03-05 00:15:00'
942  ]
943  );
944 
945  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonlthyEndOfMonth()

Sabre\VObject\Recur\RRuleIteratorTest::testMonlthyEndOfMonth ( )

Definition at line 280 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

280  {
281 
282  $this->parse(
283  'FREQ=MONTHLY;INTERVAL=2;COUNT=12',
284  '2011-12-31 00:00:00',
285  [
286  '2011-12-31 00:00:00',
287  '2012-08-31 00:00:00',
288  '2012-10-31 00:00:00',
289  '2012-12-31 00:00:00',
290  '2013-08-31 00:00:00',
291  '2013-10-31 00:00:00',
292  '2013-12-31 00:00:00',
293  '2014-08-31 00:00:00',
294  '2014-10-31 00:00:00',
295  '2014-12-31 00:00:00',
296  '2015-08-31 00:00:00',
297  '2015-10-31 00:00:00',
298  ]
299  );
300 
301  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonthly()

Sabre\VObject\Recur\RRuleIteratorTest::testMonthly ( )

Definition at line 264 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

264  {
265 
266  $this->parse(
267  'FREQ=MONTHLY;INTERVAL=3;COUNT=5',
268  '2011-12-05 00:00:00',
269  [
270  '2011-12-05 00:00:00',
271  '2012-03-05 00:00:00',
272  '2012-06-05 00:00:00',
273  '2012-09-05 00:00:00',
274  '2012-12-05 00:00:00',
275  ]
276  );
277 
278  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonthlyByDay()

Sabre\VObject\Recur\RRuleIteratorTest::testMonthlyByDay ( )

Definition at line 323 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

323  {
324 
325  $this->parse(
326  'FREQ=MONTHLY;INTERVAL=2;COUNT=16;BYDAY=MO,-2TU,+1WE,3TH',
327  '2011-01-03 00:00:00',
328  [
329  '2011-01-03 00:00:00',
330  '2011-01-05 00:00:00',
331  '2011-01-10 00:00:00',
332  '2011-01-17 00:00:00',
333  '2011-01-18 00:00:00',
334  '2011-01-20 00:00:00',
335  '2011-01-24 00:00:00',
336  '2011-01-31 00:00:00',
337  '2011-03-02 00:00:00',
338  '2011-03-07 00:00:00',
339  '2011-03-14 00:00:00',
340  '2011-03-17 00:00:00',
341  '2011-03-21 00:00:00',
342  '2011-03-22 00:00:00',
343  '2011-03-28 00:00:00',
344  '2011-05-02 00:00:00',
345  ]
346  );
347 
348  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonthlyByDayByMonthDay()

Sabre\VObject\Recur\RRuleIteratorTest::testMonthlyByDayByMonthDay ( )

Definition at line 350 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

350  {
351 
352  $this->parse(
353  'FREQ=MONTHLY;COUNT=10;BYDAY=MO;BYMONTHDAY=1',
354  '2011-08-01 00:00:00',
355  [
356  '2011-08-01 00:00:00',
357  '2012-10-01 00:00:00',
358  '2013-04-01 00:00:00',
359  '2013-07-01 00:00:00',
360  '2014-09-01 00:00:00',
361  '2014-12-01 00:00:00',
362  '2015-06-01 00:00:00',
363  '2016-02-01 00:00:00',
364  '2016-08-01 00:00:00',
365  '2017-05-01 00:00:00',
366  ]
367  );
368 
369  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonthlyByDayBySetPos()

Sabre\VObject\Recur\RRuleIteratorTest::testMonthlyByDayBySetPos ( )

Definition at line 371 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

371  {
372 
373  $this->parse(
374  'FREQ=MONTHLY;COUNT=10;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=1,-1',
375  '2011-01-03 00:00:00',
376  [
377  '2011-01-03 00:00:00',
378  '2011-01-31 00:00:00',
379  '2011-02-01 00:00:00',
380  '2011-02-28 00:00:00',
381  '2011-03-01 00:00:00',
382  '2011-03-31 00:00:00',
383  '2011-04-01 00:00:00',
384  '2011-04-29 00:00:00',
385  '2011-05-02 00:00:00',
386  '2011-05-31 00:00:00',
387  ]
388  );
389 
390  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMonthlyByMonthDay()

Sabre\VObject\Recur\RRuleIteratorTest::testMonthlyByMonthDay ( )

Definition at line 303 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

303  {
304 
305  $this->parse(
306  'FREQ=MONTHLY;INTERVAL=5;COUNT=9;BYMONTHDAY=1,31,-7',
307  '2011-01-01 00:00:00',
308  [
309  '2011-01-01 00:00:00',
310  '2011-01-25 00:00:00',
311  '2011-01-31 00:00:00',
312  '2011-06-01 00:00:00',
313  '2011-06-24 00:00:00',
314  '2011-11-01 00:00:00',
315  '2011-11-24 00:00:00',
316  '2012-04-01 00:00:00',
317  '2012-04-24 00:00:00',
318  ]
319  );
320 
321  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testMultipleValidByWeekNo()

Sabre\VObject\Recur\RRuleIteratorTest::testMultipleValidByWeekNo ( )

Definition at line 787 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

787  {
788 
789  $this->parse(
790  'FREQ=YEARLY;BYWEEKNO=20,50;BYDAY=TU,FR',
791  '2011-01-16 00:00:00',
792  [
793  '2011-01-16 00:00:00',
794  '2011-05-17 00:00:00',
795  '2011-05-20 00:00:00',
796  '2011-12-13 00:00:00',
797  '2011-12-16 00:00:00',
798  '2012-05-15 00:00:00',
799  '2012-05-18 00:00:00',
800  '2012-12-11 00:00:00',
801  '2012-12-14 00:00:00',
802  '2013-05-14 00:00:00',
803  '2013-05-17 00:00:00',
804  '2013-12-10 00:00:00',
805  ]
806  );
807 
808  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testNegativeValidByWeekNo()

Sabre\VObject\Recur\RRuleIteratorTest::testNegativeValidByWeekNo ( )

Definition at line 718 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

718  {
719 
720  $this->parse(
721  'FREQ=YEARLY;BYWEEKNO=-20;BYDAY=TU,FR',
722  '2011-09-02 00:00:00',
723  [
724  '2011-09-02 00:00:00',
725  '2012-08-07 00:00:00',
726  '2012-08-10 00:00:00',
727  '2013-08-06 00:00:00',
728  '2013-08-09 00:00:00',
729  '2014-08-05 00:00:00',
730  '2014-08-08 00:00:00',
731  '2015-08-11 00:00:00',
732  '2015-08-14 00:00:00',
733  '2016-08-09 00:00:00',
734  '2016-08-12 00:00:00',
735  '2017-08-08 00:00:00',
736  ]
737  );
738 
739  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testTwoValidByWeekNo()

Sabre\VObject\Recur\RRuleIteratorTest::testTwoValidByWeekNo ( )

Definition at line 741 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

741  {
742 
743  $this->parse(
744  'FREQ=YEARLY;BYWEEKNO=20;BYDAY=TU,FR',
745  '2011-09-07 09:00:00',
746  [
747  '2011-09-07 09:00:00',
748  '2012-05-15 09:00:00',
749  '2012-05-18 09:00:00',
750  '2013-05-14 09:00:00',
751  '2013-05-17 09:00:00',
752  '2014-05-13 09:00:00',
753  '2014-05-16 09:00:00',
754  '2015-05-12 09:00:00',
755  '2015-05-15 09:00:00',
756  '2016-05-17 09:00:00',
757  '2016-05-20 09:00:00',
758  '2017-05-16 09:00:00',
759  ]
760  );
761 
762  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testUnsupportedPart()

Sabre\VObject\Recur\RRuleIteratorTest::testUnsupportedPart ( )

Definition at line 950 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

950  {
951 
952  $this->parse(
953  'FREQ=DAILY;BYWODAN=1',
954  '2014-08-02 00:15:00',
955  []
956  );
957 
958  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testUntilBeforeDtStart()

Sabre\VObject\Recur\RRuleIteratorTest::testUntilBeforeDtStart ( )

Definition at line 907 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

907  {
908 
909  $this->parse(
910  'FREQ=DAILY;UNTIL=20140101T000000Z',
911  '2014-08-02 00:15:00',
912  [
913  '2014-08-02 00:15:00',
914  ]
915  );
916 
917  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testUntilBeginHasTimezone()

Sabre\VObject\Recur\RRuleIteratorTest::testUntilBeginHasTimezone ( )

Definition at line 885 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

885  {
886 
887  $this->parse(
888  'FREQ=WEEKLY;UNTIL=20131118T183000',
889  '2013-09-23 18:30:00',
890  [
891  '2013-09-23 18:30:00',
892  '2013-09-30 18:30:00',
893  '2013-10-07 18:30:00',
894  '2013-10-14 18:30:00',
895  '2013-10-21 18:30:00',
896  '2013-10-28 18:30:00',
897  '2013-11-04 18:30:00',
898  '2013-11-11 18:30:00',
899  '2013-11-18 18:30:00',
900  ],
901  null,
902  'America/New_York'
903  );
904 
905  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testValidByWeekNo()

Sabre\VObject\Recur\RRuleIteratorTest::testValidByWeekNo ( )

Definition at line 695 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

695  {
696 
697  $this->parse(
698  'FREQ=YEARLY;BYWEEKNO=20;BYDAY=TU',
699  '2011-02-07 00:00:00',
700  [
701  '2011-02-07 00:00:00',
702  '2011-05-17 00:00:00',
703  '2012-05-15 00:00:00',
704  '2013-05-14 00:00:00',
705  '2014-05-13 00:00:00',
706  '2015-05-12 00:00:00',
707  '2016-05-17 00:00:00',
708  '2017-05-16 00:00:00',
709  '2018-05-15 00:00:00',
710  '2019-05-14 00:00:00',
711  '2020-05-12 00:00:00',
712  '2021-05-18 00:00:00',
713  ]
714  );
715 
716  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testValidByWeekNoByDayDefault()

Sabre\VObject\Recur\RRuleIteratorTest::testValidByWeekNoByDayDefault ( )

Definition at line 764 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

764  {
765 
766  $this->parse(
767  'FREQ=YEARLY;BYWEEKNO=20',
768  '2011-05-16 00:00:00',
769  [
770  '2011-05-16 00:00:00',
771  '2012-05-14 00:00:00',
772  '2013-05-13 00:00:00',
773  '2014-05-12 00:00:00',
774  '2015-05-11 00:00:00',
775  '2016-05-16 00:00:00',
776  '2017-05-15 00:00:00',
777  '2018-05-14 00:00:00',
778  '2019-05-13 00:00:00',
779  '2020-05-11 00:00:00',
780  '2021-05-17 00:00:00',
781  '2022-05-16 00:00:00',
782  ]
783  );
784 
785  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testWeekly()

Sabre\VObject\Recur\RRuleIteratorTest::testWeekly ( )

Definition at line 156 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

156  {
157 
158  $this->parse(
159  'FREQ=WEEKLY;INTERVAL=2;COUNT=10',
160  '2011-10-07 00:00:00',
161  [
162  '2011-10-07 00:00:00',
163  '2011-10-21 00:00:00',
164  '2011-11-04 00:00:00',
165  '2011-11-18 00:00:00',
166  '2011-12-02 00:00:00',
167  '2011-12-16 00:00:00',
168  '2011-12-30 00:00:00',
169  '2012-01-13 00:00:00',
170  '2012-01-27 00:00:00',
171  '2012-02-10 00:00:00',
172  ]
173  );
174 
175  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testWeeklyByDay()

Sabre\VObject\Recur\RRuleIteratorTest::testWeeklyByDay ( )

Definition at line 177 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

177  {
178 
179  $this->parse(
180  'FREQ=WEEKLY;INTERVAL=1;COUNT=4;BYDAY=MO;WKST=SA',
181  '2014-08-01 00:00:00',
182  [
183  '2014-08-01 00:00:00',
184  '2014-08-04 00:00:00',
185  '2014-08-11 00:00:00',
186  '2014-08-18 00:00:00',
187  ]
188  );
189 
190  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testWeeklyByDay2()

Sabre\VObject\Recur\RRuleIteratorTest::testWeeklyByDay2 ( )

Definition at line 192 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

192  {
193 
194  $this->parse(
195  'FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,WE,FR;WKST=SU',
196  '2011-10-07 00:00:00',
197  [
198  '2011-10-07 00:00:00',
199  '2011-10-18 00:00:00',
200  '2011-10-19 00:00:00',
201  '2011-10-21 00:00:00',
202  '2011-11-01 00:00:00',
203  '2011-11-02 00:00:00',
204  '2011-11-04 00:00:00',
205  '2011-11-15 00:00:00',
206  '2011-11-16 00:00:00',
207  '2011-11-18 00:00:00',
208  '2011-11-29 00:00:00',
209  '2011-11-30 00:00:00',
210  ]
211  );
212 
213  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testWeeklyByDayByHour()

Sabre\VObject\Recur\RRuleIteratorTest::testWeeklyByDayByHour ( )

Definition at line 215 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

215  {
216 
217  $this->parse(
218  'FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,WE,FR;WKST=MO;BYHOUR=8,9,10',
219  '2011-10-07 08:00:00',
220  [
221  '2011-10-07 08:00:00',
222  '2011-10-07 09:00:00',
223  '2011-10-07 10:00:00',
224  '2011-10-18 08:00:00',
225  '2011-10-18 09:00:00',
226  '2011-10-18 10:00:00',
227  '2011-10-19 08:00:00',
228  '2011-10-19 09:00:00',
229  '2011-10-19 10:00:00',
230  '2011-10-21 08:00:00',
231  '2011-10-21 09:00:00',
232  '2011-10-21 10:00:00',
233  '2011-11-01 08:00:00',
234  '2011-11-01 09:00:00',
235  '2011-11-01 10:00:00',
236  ]
237  );
238 
239  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testWeeklyByDaySpecificHour()

Sabre\VObject\Recur\RRuleIteratorTest::testWeeklyByDaySpecificHour ( )

Definition at line 241 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

241  {
242 
243  $this->parse(
244  'FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,WE,FR;WKST=SU',
245  '2011-10-07 18:00:00',
246  [
247  '2011-10-07 18:00:00',
248  '2011-10-18 18:00:00',
249  '2011-10-19 18:00:00',
250  '2011-10-21 18:00:00',
251  '2011-11-01 18:00:00',
252  '2011-11-02 18:00:00',
253  '2011-11-04 18:00:00',
254  '2011-11-15 18:00:00',
255  '2011-11-16 18:00:00',
256  '2011-11-18 18:00:00',
257  '2011-11-29 18:00:00',
258  '2011-11-30 18:00:00',
259  ]
260  );
261 
262  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearly()

Sabre\VObject\Recur\RRuleIteratorTest::testYearly ( )

Definition at line 392 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

392  {
393 
394  $this->parse(
395  'FREQ=YEARLY;COUNT=10;INTERVAL=3',
396  '2011-01-01 00:00:00',
397  [
398  '2011-01-01 00:00:00',
399  '2014-01-01 00:00:00',
400  '2017-01-01 00:00:00',
401  '2020-01-01 00:00:00',
402  '2023-01-01 00:00:00',
403  '2026-01-01 00:00:00',
404  '2029-01-01 00:00:00',
405  '2032-01-01 00:00:00',
406  '2035-01-01 00:00:00',
407  '2038-01-01 00:00:00',
408  ]
409  );
410  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonth()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonth ( )

Definition at line 425 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

425  {
426 
427  $this->parse(
428  'FREQ=YEARLY;COUNT=8;INTERVAL=4;BYMONTH=4,10',
429  '2011-04-07 00:00:00',
430  [
431  '2011-04-07 00:00:00',
432  '2011-10-07 00:00:00',
433  '2015-04-07 00:00:00',
434  '2015-10-07 00:00:00',
435  '2019-04-07 00:00:00',
436  '2019-10-07 00:00:00',
437  '2023-04-07 00:00:00',
438  '2023-10-07 00:00:00',
439  ]
440  );
441 
442  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthByDay()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthByDay ( )

Definition at line 496 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

496  {
497 
498  $this->parse(
499  'FREQ=YEARLY;COUNT=8;INTERVAL=5;BYMONTH=4,10;BYDAY=1MO,-1SU',
500  '2011-04-04 00:00:00',
501  [
502  '2011-04-04 00:00:00',
503  '2011-04-24 00:00:00',
504  '2011-10-03 00:00:00',
505  '2011-10-30 00:00:00',
506  '2016-04-04 00:00:00',
507  '2016-04-24 00:00:00',
508  '2016-10-03 00:00:00',
509  '2016-10-30 00:00:00',
510  ]
511  );
512 
513  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthEmptyValue()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthEmptyValue ( )

Definition at line 486 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

486  {
487 
488  $this->parse(
489  'FREQ=YEARLY;COUNT=6;BYMONTHDAY=24;BYMONTH=',
490  '2011-04-07 00:00:00',
491  []
492  );
493 
494  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthInvalidValue1()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthInvalidValue1 ( )

Definition at line 447 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

447  {
448 
449  $this->parse(
450  'FREQ=YEARLY;COUNT=6;BYMONTHDAY=24;BYMONTH=0',
451  '2011-04-07 00:00:00',
452  []
453  );
454 
455  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthInvalidValue2()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthInvalidValue2 ( )

Definition at line 460 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

460  {
461 
462  $this->parse(
463  'FREQ=YEARLY;COUNT=6;BYMONTHDAY=24;BYMONTH=bla',
464  '2011-04-07 00:00:00',
465  []
466  );
467 
468  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthLoop()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthLoop ( )

This also at one point caused an infinite loop.

We're keeping the test.

Definition at line 827 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

827  {
828 
829  $this->parse(
830  'FREQ=YEARLY;INTERVAL=1;UNTIL=20120203T225959Z;BYMONTH=2;BYSETPOS=1;BYDAY=SU,MO,TU,WE,TH,FR,SA',
831  '2012-01-01 15:45:00',
832  [
833  '2012-02-01 15:45:00',
834  ],
835  '2012-01-29 23:00:00'
836  );
837 
838 
839  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByMonthManyInvalidValues()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByMonthManyInvalidValues ( )

Definition at line 473 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

473  {
474 
475  $this->parse(
476  'FREQ=YEARLY;COUNT=6;BYMONTHDAY=24;BYMONTH=0,bla',
477  '2011-04-07 00:00:00',
478  []
479  );
480 
481  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDay()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDay ( )

Definition at line 515 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

515  {
516 
517  $this->parse(
518  'FREQ=YEARLY;COUNT=7;INTERVAL=2;BYYEARDAY=190',
519  '2011-07-10 03:07:00',
520  [
521  '2011-07-10 03:07:00',
522  '2013-07-10 03:07:00',
523  '2015-07-10 03:07:00',
524  '2017-07-10 03:07:00',
525  '2019-07-10 03:07:00',
526  '2021-07-10 03:07:00',
527  '2023-07-10 03:07:00',
528  ]
529  );
530 
531  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDayByDay()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayByDay ( )

Definition at line 570 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

570  {
571 
572  $this->parse(
573  'FREQ=YEARLY;COUNT=6;BYYEARDAY=97;BYDAY=SA',
574  '2001-04-07 14:53:11',
575  [
576  '2001-04-07 14:53:11',
577  '2006-04-08 14:53:11',
578  '2012-04-07 14:53:11',
579  '2017-04-08 14:53:11',
580  '2023-04-08 14:53:11',
581  '2034-04-08 14:53:11',
582  ]
583  );
584 
585  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDayImmutable()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayImmutable ( )

Definition at line 537 of file RRuleIteratorTest.php.

References $parser, $rule, $start, and $tz.

537  {
538  $start = '2011-07-10 03:07:00';
539  $rule = 'FREQ=YEARLY;COUNT=7;INTERVAL=2;BYYEARDAY=190';
540  $tz = "UTC";
541 
542  $dt = new DateTimeImmutable($start, new DateTimeZone($tz));
543  $parser = new RRuleIterator($rule, $dt);
544 
545  $parser->next();
546 
547  $item = $parser->current();
548  $this->assertEquals($item->format('Y-m-d H:i:s'), '2013-07-10 03:07:00');
549  }
$start
Definition: bench.php:8
$rule
Definition: showstats.php:43
$parser
Definition: BPMN2Parser.php:23

◆ testYearlyByYearDayInvalid0()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayInvalid0 ( )

Definition at line 623 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

623  {
624 
625  $this->parse(
626  'FREQ=YEARLY;COUNT=8;INTERVAL=4;BYYEARDAY=0',
627  '2011-04-07 00:00:00',
628  [
629  ]
630  );
631 
632  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDayInvalid390()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayInvalid390 ( )

Definition at line 609 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

609  {
610 
611  $this->parse(
612  'FREQ=YEARLY;COUNT=8;INTERVAL=4;BYYEARDAY=390',
613  '2011-04-07 00:00:00',
614  [
615  ]
616  );
617 
618  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDayMultiple()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayMultiple ( )

Definition at line 551 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

551  {
552 
553  $this->parse(
554  'FREQ=YEARLY;COUNT=8;INTERVAL=3;BYYEARDAY=190,301',
555  '2011-07-10 14:53:11',
556  [
557  '2011-07-10 14:53:11',
558  '2011-10-29 14:53:11',
559  '2014-07-10 14:53:11',
560  '2014-10-29 14:53:11',
561  '2017-07-10 14:53:11',
562  '2017-10-29 14:53:11',
563  '2020-07-09 14:53:11',
564  '2020-10-28 14:53:11',
565  ]
566  );
567 
568  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyByYearDayNegative()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyByYearDayNegative ( )

Definition at line 587 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

587  {
588 
589  $this->parse(
590  'FREQ=YEARLY;COUNT=8;BYYEARDAY=-97,-5',
591  '2001-09-26 14:53:11',
592  [
593  '2001-09-26 14:53:11',
594  '2001-12-27 14:53:11',
595  '2002-09-26 14:53:11',
596  '2002-12-27 14:53:11',
597  '2003-09-26 14:53:11',
598  '2003-12-27 14:53:11',
599  '2004-09-26 14:53:11',
600  '2004-12-27 14:53:11',
601  ]
602  );
603 
604  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testYearlyLeapYear()

Sabre\VObject\Recur\RRuleIteratorTest::testYearlyLeapYear ( )

Definition at line 412 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

412  {
413 
414  $this->parse(
415  'FREQ=YEARLY;COUNT=3',
416  '2012-02-29 00:00:00',
417  [
418  '2012-02-29 00:00:00',
419  '2016-02-29 00:00:00',
420  '2020-02-29 00:00:00',
421  ]
422  );
423  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

◆ testZeroInterval()

Sabre\VObject\Recur\RRuleIteratorTest::testZeroInterval ( )

Something, somewhere produced an ics with an interval set to 0.

Because this means we increase the current day (or week, month) by 0, this also results in an infinite loop.

Definition at line 848 of file RRuleIteratorTest.php.

References Sabre\VObject\Recur\RRuleIteratorTest\parse().

848  {
849 
850  $this->parse(
851  'FREQ=YEARLY;INTERVAL=0',
852  '2012-08-24 14:57:00',
853  [],
854  '2013-01-01 23:00:00'
855  );
856 
857  }
parse($rule, $start, $expected, $fastForward=null, $tz='UTC')
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: