assertEquals($outcome, $vtodo->isInTimeRange($start, $end)); } function testValidate() { $input = <<validate(); $messages = []; foreach ($warnings as $warning) { $messages[] = $warning['message']; } $this->assertEquals([], $messages); } function testValidateBroken() { $input = <<validate(); $messages = []; foreach ($warnings as $warning) { $messages[] = $warning['message']; } $this->assertEquals( ["URL MUST NOT appear more than once in a VJOURNAL component"], $messages ); } function timeRangeTestData() { $calendar = new VCalendar(); $tests = []; $vjournal = $calendar->createComponent('VJOURNAL'); $vjournal->DTSTART = '20111223T120000Z'; $tests[] = [$vjournal, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), true]; $tests[] = [$vjournal, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false]; $vjournal2 = $calendar->createComponent('VJOURNAL'); $vjournal2->DTSTART = '20111223'; $vjournal2->DTSTART['VALUE'] = 'DATE'; $tests[] = [$vjournal2, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), true]; $tests[] = [$vjournal2, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false]; $vjournal3 = $calendar->createComponent('VJOURNAL'); $tests[] = [$vjournal3, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), false]; $tests[] = [$vjournal3, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false]; return $tests; } }