mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-09 18:08:49 +00:00
Second part of refactoring; should be runnable again, yet not thoroughly tested
This commit is contained in:
parent
b8234a1cb8
commit
6186153f68
88 changed files with 2135 additions and 1186 deletions
146
dav/sabre-vobject/tests/Sabre/VObject/Component/VAlarmTest.php
Normal file
146
dav/sabre-vobject/tests/Sabre/VObject/Component/VAlarmTest.php
Normal file
|
@ -0,0 +1,146 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject\Component;
|
||||
use DateTime;
|
||||
|
||||
class VAlarmTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(VAlarm $valarm,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $valarm->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
// Hard date and time
|
||||
$valarm1 = 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 = Component::create('VALARM');
|
||||
$valarm2->TRIGGER = '-P1D';
|
||||
$valarm2->TRIGGER['VALUE'] = 'DURATION';
|
||||
|
||||
$vevent2 = 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 = Component::create('VALARM');
|
||||
$valarm3->TRIGGER = '-P1D';
|
||||
$valarm3->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm3->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent3 = 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 = Component::create('VALARM');
|
||||
$valarm4->TRIGGER = '-P1D';
|
||||
$valarm4->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm4->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vtodo4 = 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 = Component::create('VALARM');
|
||||
$valarm5->TRIGGER = '-P1D';
|
||||
$valarm5->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm5->REPEAT = 10;
|
||||
$valarm5->DURATION = 'P1D';
|
||||
|
||||
$vevent5 = 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 = Component::create('VALARM');
|
||||
$valarm6->TRIGGER = '-P1D';
|
||||
$valarm6->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm6->DURATION = 'P1D';
|
||||
|
||||
$vevent6 = 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 = Component::create('VALARM');
|
||||
$valarm7->TRIGGER = '-P1D';
|
||||
$valarm7->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm7->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent7 = 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 = Component::create('VALARM');
|
||||
$valarm7->TRIGGER = '-P1D';
|
||||
$valarm7->TRIGGER['VALUE'] = 'DURATION';
|
||||
$valarm7->TRIGGER['RELATED']= 'END';
|
||||
|
||||
$vevent7 = 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 LogicException
|
||||
*/
|
||||
public function testInTimeRangeInvalidComponent() {
|
||||
|
||||
$valarm = Component::create('VALARM');
|
||||
$valarm->TRIGGER = '-P1D';
|
||||
$valarm->TRIGGER['RELATED'] = 'END';
|
||||
|
||||
$vjournal = Component::create('VJOURNAL');
|
||||
$vjournal->add($valarm);
|
||||
|
||||
$valarm->isInTimeRange(new DateTime('2012-02-25 01:00:00'), new DateTime('2012-03-05 01:00:00'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,244 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject;
|
||||
|
||||
class VCalendarTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider expandData
|
||||
*/
|
||||
public function testExpand($input, $output) {
|
||||
|
||||
$vcal = VObject\Reader::read($input);
|
||||
$vcal->expand(
|
||||
new \DateTime('2011-12-01'),
|
||||
new \DateTime('2011-12-31')
|
||||
);
|
||||
|
||||
// This will normalize the output
|
||||
$output = 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 = VObject\Reader::read($input);
|
||||
$vcal->expand(
|
||||
new \DateTime('2011-12-01'),
|
||||
new \DateTime('2011-12-31')
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
100
dav/sabre-vobject/tests/Sabre/VObject/Component/VCardTest.php
Normal file
100
dav/sabre-vobject/tests/Sabre/VObject/Component/VCardTest.php
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject;
|
||||
|
||||
class VCardTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider validateData
|
||||
*/
|
||||
function testValidate($input, $expectedWarnings, $expectedRepairedOutput) {
|
||||
|
||||
$vcard = VObject\Reader::read($input);
|
||||
|
||||
$warnings = $vcard->validate();
|
||||
|
||||
$warnMsg = array();
|
||||
foreach($warnings as $warning) {
|
||||
$warnMsg[] = $warning['message'];
|
||||
}
|
||||
|
||||
$this->assertEquals($expectedWarnings, $warnMsg);
|
||||
|
||||
$vcard->validate(VObject\Component::REPAIR);
|
||||
|
||||
$this->assertEquals(
|
||||
$expectedRepairedOutput,
|
||||
$vcard->serialize()
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function validateData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
// Correct
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
array(),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
);
|
||||
|
||||
// No VERSION
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'The VERSION property must appear in the VCARD component exactly 1 time',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
);
|
||||
|
||||
// Unknown version
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:2.2\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'Only vcard version 4.0 (RFC6350), version 3.0 (RFC2426) or version 2.1 (icm-vcard-2.1) are supported.',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
);
|
||||
|
||||
// No FN
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'The FN property must appear in the VCARD component exactly 1 time',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nEND:VCARD\r\n",
|
||||
);
|
||||
// No FN, N fallback
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nN:Doe;John;;;;;\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'The FN property must appear in the VCARD component exactly 1 time',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nN:Doe;John;;;;;\r\nFN:John Doe\r\nEND:VCARD\r\n",
|
||||
);
|
||||
// No FN, N fallback, no first name
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nN:Doe;;;;;;\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'The FN property must appear in the VCARD component exactly 1 time',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nN:Doe;;;;;;\r\nFN:Doe\r\nEND:VCARD\r\n",
|
||||
);
|
||||
|
||||
// No FN, ORG fallback
|
||||
$tests[] = array(
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nORG:Acme Co.\r\nEND:VCARD\r\n",
|
||||
array(
|
||||
'The FN property must appear in the VCARD component exactly 1 time',
|
||||
),
|
||||
"BEGIN:VCARD\r\nVERSION:4.0\r\nORG:Acme Co.\r\nFN:Acme Co.\r\nEND:VCARD\r\n",
|
||||
);
|
||||
return $tests;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject;
|
||||
|
||||
class VEventTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(VEvent $vevent,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vevent->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vevent = new 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);
|
||||
|
||||
// Added this test to ensure that recurrence rules with no DTEND also
|
||||
// get checked for the entire day.
|
||||
$vevent7 = clone $vevent;
|
||||
$vevent7->DTSTART = '20120101';
|
||||
$vevent7->DTSTART['VALUE'] = 'DATE';
|
||||
$vevent7->RRULE = 'FREQ=MONTHLY';
|
||||
$tests[] = array($vevent7, new \DateTime('2012-02-01 15:00:00'), new \DateTime('2012-02-02'), true);
|
||||
return $tests;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject\Component;
|
||||
|
||||
class VJournalTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(VJournal $vtodo,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vtodo->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vjournal = 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 = 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 = 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
|
||||
namespace Sabre\VObject\Component;
|
||||
|
||||
use Sabre\VObject\Component;
|
||||
|
||||
class VTodoTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider timeRangeTestData
|
||||
*/
|
||||
public function testInTimeRange(VTodo $vtodo,$start,$end,$outcome) {
|
||||
|
||||
$this->assertEquals($outcome, $vtodo->isInTimeRange($start, $end));
|
||||
|
||||
}
|
||||
|
||||
public function timeRangeTestData() {
|
||||
|
||||
$tests = array();
|
||||
|
||||
$vtodo = 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 = 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 = 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 = 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 = 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 = 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