Differential D16609 Diff 39999 src/parser/calendar/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php
Changeset View
Changeset View
Standalone View
Standalone View
src/parser/calendar/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php
Show First 20 Lines • Show All 181 Lines • ▼ Show 20 Lines | $tests[] = array( | ||||
'BYDAY' => array('TU', 'TH'), | 'BYDAY' => array('TU', 'TH'), | ||||
); | ); | ||||
$expect[] = array( | $expect[] = array( | ||||
'19980101', | '19980101', | ||||
'19980106', | '19980106', | ||||
'19980108', | '19980108', | ||||
); | ); | ||||
$tests[] = array( | |||||
'BYMONTHDAY' => array(1, 3), | |||||
'BYDAY' => array('TU', 'TH'), | |||||
); | |||||
$expect[] = array( | |||||
'19980101', | |||||
'19980203', | |||||
'19980303', | |||||
); | |||||
$tests[] = array( | |||||
'BYMONTHDAY' => array(1, 3), | |||||
'BYDAY' => array('TU', 'TH'), | |||||
'BYMONTH' => array(1, 3), | |||||
); | |||||
$expect[] = array( | |||||
'19980101', | |||||
'19980303', | |||||
'20010301', | |||||
); | |||||
$tests[] = array( | |||||
'BYYEARDAY' => array(1, 100, 200, 365), | |||||
'COUNT' => 4, | |||||
); | |||||
$expect[] = array( | |||||
'19971231', | |||||
'19980101', | |||||
'19980410', | |||||
'19980719', | |||||
); | |||||
$this->assertRules( | $this->assertRules( | ||||
array( | array( | ||||
'FREQ' => 'YEARLY', | 'FREQ' => 'YEARLY', | ||||
'COUNT' => 3, | 'COUNT' => 3, | ||||
'DTSTART' => '19970902', | 'DTSTART' => '19970902', | ||||
), | ), | ||||
$tests, | $tests, | ||||
$expect); | $expect); | ||||
Show All 25 Lines | foreach ($tests as $key => $test) { | ||||
$rrule->setByMonth($by_month); | $rrule->setByMonth($by_month); | ||||
} | } | ||||
$by_monthday = idx($options, 'BYMONTHDAY'); | $by_monthday = idx($options, 'BYMONTHDAY'); | ||||
if ($by_monthday) { | if ($by_monthday) { | ||||
$rrule->setByMonthDay($by_monthday); | $rrule->setByMonthDay($by_monthday); | ||||
} | } | ||||
$by_yearday = idx($options, 'BYYEARDAY'); | |||||
if ($by_yearday) { | |||||
$rrule->setByYearDay($by_yearday); | |||||
} | |||||
$set = id(new PhutilCalendarRecurrenceSet()) | $set = id(new PhutilCalendarRecurrenceSet()) | ||||
->addSource($rrule); | ->addSource($rrule); | ||||
$result = $set->getEventsBetween(null, null, $options['COUNT']); | $result = $set->getEventsBetween(null, null, $options['COUNT']); | ||||
$this->assertEqual( | $this->assertEqual( | ||||
$expect[$key], | $expect[$key], | ||||
mpull($result, 'getISO8601')); | mpull($result, 'getISO8601')); | ||||
} | } | ||||
} | } | ||||
} | } |