mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-08 01:18:48 +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
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')
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue