mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-10-12 09:52:59 +00:00
Initial Release of the calendar plugin
This commit is contained in:
parent
45cc9885fc
commit
7115197a33
561 changed files with 189494 additions and 0 deletions
141
dav/SabreDAV/tests/Sabre/VObject/Component/VAlarmTest.php
Normal file
141
dav/SabreDAV/tests/Sabre/VObject/Component/VAlarmTest.php
Normal file
|
@ -0,0 +1,141 @@
|
|||
<?php
|
||||
|
||||
class Sabre_VObject_Component_VAlarmTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(Sabre_VObject_Component_VAlarm $valarm,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $valarm->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
// Hard date and time
|
||||
$valarm1 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm1->TRIGGER = '20120312T130000Z';
|
||||
$valarm1->TRIGGER['VALUE'] = 'DATE-TIME';
|
||||
|
||||
$tests[] = array($valarm1, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-04-01 01:00:00'), true);
|
||||
$tests[] = array($valarm1, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-03-10 01:00:00'), false);
|
||||
|
||||
// Relation to start time of event
|
||||
$valarm2 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm2->TRIGGER = '-P1D';
|
||||
$valarm2->TRIGGER['VALUE'] = 'DURATION';
|
||||
|
||||
$vevent2 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent2->DTSTART = '20120313T130000Z';
|
||||
$vevent2->add($valarm2);
|
||||
|
||||
$tests[] = array($valarm2, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-04-01 01:00:00'), true);
|
||||
$tests[] = array($valarm2, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-03-10 01:00:00'), false);
|
||||
|
||||
// Relation to end time of event
|
||||
$valarm3 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm3->TRIGGER = '-P1D';
|
||||
$valarm3->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm3->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent3 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent3->DTSTART = '20120301T130000Z';
|
||||
$vevent3->DTEND = '20120401T130000Z';
|
||||
$vevent3->add($valarm3);
|
||||
|
||||
$tests[] = array($valarm3, new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'), false);
|
||||
$tests[] = array($valarm3, new DateTime('2012-03-25 01:00:00'), new DateTime('2012-04-05 01:00:00'), true);
|
||||
|
||||
// Relation to end time of todo
|
||||
$valarm4 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm4->TRIGGER = '-P1D';
|
||||
$valarm4->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm4->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vtodo4 = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo4->DTSTART = '20120301T130000Z';
|
||||
$vtodo4->DUE = '20120401T130000Z';
|
||||
$vtodo4->add($valarm4);
|
||||
|
||||
$tests[] = array($valarm4, new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'), false);
|
||||
$tests[] = array($valarm4, new DateTime('2012-03-25 01:00:00'), new DateTime('2012-04-05 01:00:00'), true);
|
||||
|
||||
// Relation to start time of event + repeat
|
||||
$valarm5 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm5->TRIGGER = '-P1D';
|
||||
$valarm5->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm5->REPEAT = 10;
|
||||
$valarm5->DURATION = 'P1D';
|
||||
|
||||
$vevent5 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent5->DTSTART = '20120301T130000Z';
|
||||
$vevent5->add($valarm5);
|
||||
|
||||
$tests[] = array($valarm5, new DateTime('2012-03-09 01:00:00'), new DateTime('2012-03-10 01:00:00'), true);
|
||||
|
||||
// Relation to start time of event + duration, but no repeat
|
||||
$valarm6 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm6->TRIGGER = '-P1D';
|
||||
$valarm6->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm6->DURATION = 'P1D';
|
||||
|
||||
$vevent6 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent6->DTSTART = '20120313T130000Z';
|
||||
$vevent6->add($valarm6);
|
||||
|
||||
$tests[] = array($valarm6, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-04-01 01:00:00'), true);
|
||||
$tests[] = array($valarm6, new DateTime('2012-03-01 01:00:00'), new DateTime('2012-03-10 01:00:00'), false);
|
||||
|
||||
|
||||
// Relation to end time of event (DURATION instead of DTEND)
|
||||
$valarm7 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm7->TRIGGER = '-P1D';
|
||||
$valarm7->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm7->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent7 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent7->DTSTART = '20120301T130000Z';
|
||||
$vevent7->DURATION = 'P30D';
|
||||
$vevent7->add($valarm7);
|
||||
|
||||
$tests[] = array($valarm7, new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'), false);
|
||||
$tests[] = array($valarm7, new DateTime('2012-03-25 01:00:00'), new DateTime('2012-04-05 01:00:00'), true);
|
||||
|
||||
// Relation to end time of event (No DTEND or DURATION)
|
||||
$valarm7 = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm7->TRIGGER = '-P1D';
|
||||
$valarm7->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm7->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent7 = Sabre_VObject_Component::create('VEVENT');
|
||||
$vevent7->DTSTART = '20120301T130000Z';
|
||||
$vevent7->add($valarm7);
|
||||
|
||||
$tests[] = array($valarm7, new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'), true);
|
||||
$tests[] = array($valarm7, new DateTime('2012-03-25 01:00:00'), new DateTime('2012-04-05 01:00:00'), false);
|
||||
|
||||
|
||||
return $tests;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Sabre_DAV_Exception
|
||||
*/
|
||||
public function testInTimeRangeInvalidComponent() {
|
||||
|
||||
$valarm = Sabre_VObject_Component::create('VALARM');
|
||||
$valarm->TRIGGER = '-P1D';
|
||||
$valarm->TRIGGER['RELATED'] = 'END';
|
||||
|
||||
$vjournal = Sabre_VObject_Component::create('VJOURNAL');
|
||||
$vjournal->add($valarm);
|
||||
|
||||
$valarm->isInTimeRange(new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
240
dav/SabreDAV/tests/Sabre/VObject/Component/VCalendarTest.php
Normal file
240
dav/SabreDAV/tests/Sabre/VObject/Component/VCalendarTest.php
Normal file
|
@ -0,0 +1,240 @@
|
|||
<?php
|
||||
|
||||
class Sabre_VObject_Component_VCalendarTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider expandData
|
||||
*/
|
||||
public function testExpand($input, $output) {
|
||||
|
||||
$vcal = Sabre_VObject_Reader::read($input);
|
||||
$vcal->expand(
|
||||
new DateTime('2011-12-01'),
|
||||
new DateTime('2011-12-31')
|
||||
);
|
||||
|
||||
// This will normalize the output
|
||||
$output = Sabre_VObject_Reader::read($output)->serialize();
|
||||
|
||||
$this->assertEquals($output, $vcal->serialize());
|
||||
|
||||
}
|
||||
|
||||
public function expandData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
// No data
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$output = $input;
|
||||
$tests[] = array($input,$output);
|
||||
|
||||
|
||||
// Simple events
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla
|
||||
SUMMARY:InExpand
|
||||
DTSTART;VALUE=DATE:20111202
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla2
|
||||
SUMMARY:NotInExpand
|
||||
DTSTART;VALUE=DATE:20120101
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$output = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla
|
||||
SUMMARY:InExpand
|
||||
DTSTART;VALUE=DATE:20111202
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$tests[] = array($input, $output);
|
||||
|
||||
// Removing timezone info
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Paris
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
UID:bla4
|
||||
SUMMARY:RemoveTZ info
|
||||
DTSTART;TZID=Europe/Paris:20111203T130102
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$output = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla4
|
||||
SUMMARY:RemoveTZ info
|
||||
DTSTART;VALUE=DATE-TIME:20111203T120102Z
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$tests[] = array($input, $output);
|
||||
|
||||
// Recurrence rule
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART:20111125T120000Z
|
||||
DTEND:20111125T130000Z
|
||||
RRULE:FREQ=WEEKLY
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$output = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART;VALUE=DATE-TIME:20111202T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111202T130000Z
|
||||
RECURRENCE-ID:20111202T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART;VALUE=DATE-TIME:20111209T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111209T130000Z
|
||||
RECURRENCE-ID:20111209T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART;VALUE=DATE-TIME:20111216T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111216T130000Z
|
||||
RECURRENCE-ID:20111216T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART;VALUE=DATE-TIME:20111223T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111223T130000Z
|
||||
RECURRENCE-ID:20111223T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule
|
||||
DTSTART;VALUE=DATE-TIME:20111230T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111230T130000Z
|
||||
RECURRENCE-ID:20111230T120000Z
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
// Recurrence rule + override
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule2
|
||||
DTSTART:20111125T120000Z
|
||||
DTEND:20111125T130000Z
|
||||
RRULE:FREQ=WEEKLY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
RECURRENCE-ID:20111209T120000Z
|
||||
DTSTART:20111209T140000Z
|
||||
DTEND:20111209T150000Z
|
||||
SUMMARY:Override!
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$output = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule2
|
||||
DTSTART;VALUE=DATE-TIME:20111202T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111202T130000Z
|
||||
RECURRENCE-ID:20111202T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
RECURRENCE-ID:20111209T120000Z
|
||||
DTSTART:20111209T140000Z
|
||||
DTEND:20111209T150000Z
|
||||
SUMMARY:Override!
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule2
|
||||
DTSTART;VALUE=DATE-TIME:20111216T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111216T130000Z
|
||||
RECURRENCE-ID:20111216T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule2
|
||||
DTSTART;VALUE=DATE-TIME:20111223T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111223T130000Z
|
||||
RECURRENCE-ID:20111223T120000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:bla6
|
||||
SUMMARY:Testing RRule2
|
||||
DTSTART;VALUE=DATE-TIME:20111230T120000Z
|
||||
DTEND;VALUE=DATE-TIME:20111230T130000Z
|
||||
RECURRENCE-ID:20111230T120000Z
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
|
||||
$tests[] = array($input, $output);
|
||||
return $tests;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException LogicException
|
||||
*/
|
||||
public function testBrokenEventExpand() {
|
||||
|
||||
$input = 'BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
RRULE:FREQ=WEEKLY
|
||||
DTSTART;VALUE=DATE:20111202
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
';
|
||||
$vcal = Sabre_VObject_Reader::read($input);
|
||||
$vcal->expand(
|
||||
new DateTime('2011-12-01'),
|
||||
new DateTime('2011-12-31')
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
64
dav/SabreDAV/tests/Sabre/VObject/Component/VEventTest.php
Normal file
64
dav/SabreDAV/tests/Sabre/VObject/Component/VEventTest.php
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
class Sabre_VObject_Component_VEventTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(Sabre_VObject_Component_VEvent $vevent,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vevent->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vevent = new Sabre_VObject_Component_VEvent('VEVENT');
|
||||
$vevent->DTSTART = '20111223T120000Z';
|
||||
$tests[] = array($vevent, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vevent2 = clone $vevent;
|
||||
$vevent2->DTEND = '20111225T120000Z';
|
||||
$tests[] = array($vevent2, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent2, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vevent3 = clone $vevent;
|
||||
$vevent3->DURATION = 'P1D';
|
||||
$tests[] = array($vevent3, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent3, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vevent4 = clone $vevent;
|
||||
$vevent4->DTSTART = '20111225';
|
||||
$vevent4->DTSTART['VALUE'] = 'DATE';
|
||||
$tests[] = array($vevent4, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent4, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
// Event with no end date should be treated as lasting the entire day.
|
||||
$tests[] = array($vevent4, new DateTime('2011-12-25 16:00:00'), new DateTime('2011-12-25 17:00:00'), true);
|
||||
|
||||
|
||||
$vevent5 = clone $vevent;
|
||||
$vevent5->DURATION = 'P1D';
|
||||
$vevent5->RRULE = 'FREQ=YEARLY';
|
||||
$tests[] = array($vevent5, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent5, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
$tests[] = array($vevent5, new DateTime('2013-12-01'), new DateTime('2013-12-31'), true);
|
||||
|
||||
$vevent6 = clone $vevent;
|
||||
$vevent6->DTSTART = '20111225';
|
||||
$vevent6->DTSTART['VALUE'] = 'DATE';
|
||||
$vevent6->DTEND = '20111225';
|
||||
$vevent6->DTEND['VALUE'] = 'DATE';
|
||||
$tests[] = array($vevent6, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vevent6, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
// Event with no end date should be treated as lasting the entire day.
|
||||
$tests[] = array($vevent6, new DateTime('2011-12-25 16:00:00'), new DateTime('2011-12-25 17:00:00'), true);
|
||||
|
||||
return $tests;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
37
dav/SabreDAV/tests/Sabre/VObject/Component/VJournalTest.php
Normal file
37
dav/SabreDAV/tests/Sabre/VObject/Component/VJournalTest.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
class Sabre_VObject_Component_VJournalTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(Sabre_VObject_Component_VJournal $vtodo,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vtodo->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vjournal = Sabre_VObject_Component::create('VJOURNAL');
|
||||
$vjournal->DTSTART = '20111223T120000Z';
|
||||
$tests[] = array($vjournal, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vjournal, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vjournal2 = Sabre_VObject_Component::create('VJOURNAL');
|
||||
$vjournal2->DTSTART = '20111223';
|
||||
$vjournal2->DTSTART['VALUE'] = 'DATE';
|
||||
$tests[] = array($vjournal2, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vjournal2, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vjournal3 = Sabre_VObject_Component::create('VJOURNAL');
|
||||
$tests[] = array($vjournal3, new DateTime('2011-01-01'), new DateTime('2012-01-01'), false);
|
||||
$tests[] = array($vjournal3, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
return $tests;
|
||||
}
|
||||
|
||||
}
|
||||
|
63
dav/SabreDAV/tests/Sabre/VObject/Component/VTodoTest.php
Normal file
63
dav/SabreDAV/tests/Sabre/VObject/Component/VTodoTest.php
Normal file
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
|
||||
class Sabre_VObject_Component_VTodoTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(Sabre_VObject_Component_VTodo $vtodo,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vtodo->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vtodo = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo->DTSTART = '20111223T120000Z';
|
||||
$tests[] = array($vtodo, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo2 = clone $vtodo;
|
||||
$vtodo2->DURATION = 'P1D';
|
||||
$tests[] = array($vtodo2, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo2, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo3 = clone $vtodo;
|
||||
$vtodo3->DUE = '20111225';
|
||||
$tests[] = array($vtodo3, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo3, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo4 = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo4->DUE = '20111225';
|
||||
$tests[] = array($vtodo4, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo4, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo5 = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo5->COMPLETED = '20111225';
|
||||
$tests[] = array($vtodo5, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo5, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo6 = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo6->CREATED = '20111225';
|
||||
$tests[] = array($vtodo6, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo6, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo7 = Sabre_VObject_Component::create('VTODO');
|
||||
$vtodo7->CREATED = '20111225';
|
||||
$vtodo7->COMPLETED = '20111226';
|
||||
$tests[] = array($vtodo7, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo7, new DateTime('2011-01-01'), new DateTime('2011-11-01'), false);
|
||||
|
||||
$vtodo7 = Sabre_VObject_Component::create('VTODO');
|
||||
$tests[] = array($vtodo7, new DateTime('2011-01-01'), new DateTime('2012-01-01'), true);
|
||||
$tests[] = array($vtodo7, new DateTime('2011-01-01'), new DateTime('2011-11-01'), true);
|
||||
|
||||
return $tests;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue