Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1819683
CalendarQueryVAlarmTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
3 KB
Subscribers
None
CalendarQueryVAlarmTest.php
View Options
<?php
namespace
Sabre\CalDAV
;
use
Sabre\VObject
;
class
CalendarQueryVAlarmTest
extends
\PHPUnit_Framework_TestCase
{
/**
* This test is specifically for a time-range query on a VALARM, contained
* in a VEVENT that's recurring
*/
function
testValarm
()
{
$vcalendar
=
new
VObject\Component\VCalendar
();
$vevent
=
$vcalendar
->
createComponent
(
'VEVENT'
);
$vevent
->
RRULE
=
'FREQ=MONTHLY'
;
$vevent
->
DTSTART
=
'20120101T120000Z'
;
$vevent
->
UID
=
'bla'
;
$valarm
=
$vcalendar
->
createComponent
(
'VALARM'
);
$valarm
->
TRIGGER
=
'-P15D'
;
$vevent
->
add
(
$valarm
);
$vcalendar
->
add
(
$vevent
);
$filter
=
array
(
'name'
=>
'VCALENDAR'
,
'is-not-defined'
=>
false
,
'time-range'
=>
null
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(
array
(
'name'
=>
'VEVENT'
,
'is-not-defined'
=>
false
,
'time-range'
=>
null
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(
array
(
'name'
=>
'VALARM'
,
'is-not-defined'
=>
false
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(),
'time-range'
=>
array
(
'start'
=>
new
\DateTime
(
'2012-05-10'
),
'end'
=>
new
\DateTime
(
'2012-05-20'
),
),
),
),
),
),
);
$validator
=
new
CalendarQueryValidator
();
$this
->
assertTrue
(
$validator
->
validate
(
$vcalendar
,
$filter
));
$vcalendar
=
new
VObject\Component\VCalendar
();
// A limited recurrence rule, should return false
$vevent
=
$vcalendar
->
createComponent
(
'VEVENT'
);
$vevent
->
RRULE
=
'FREQ=MONTHLY;COUNT=1'
;
$vevent
->
DTSTART
=
'20120101T120000Z'
;
$vevent
->
UID
=
'bla'
;
$valarm
=
$vcalendar
->
createComponent
(
'VALARM'
);
$valarm
->
TRIGGER
=
'-P15D'
;
$vevent
->
add
(
$valarm
);
$vcalendar
->
add
(
$vevent
);
$this
->
assertFalse
(
$validator
->
validate
(
$vcalendar
,
$filter
));
}
function
testAlarmWayBefore
()
{
$vcalendar
=
new
VObject\Component\VCalendar
();
$vevent
=
$vcalendar
->
createComponent
(
'VEVENT'
);
$vevent
->
DTSTART
=
'20120101T120000Z'
;
$vevent
->
UID
=
'bla'
;
$valarm
=
$vcalendar
->
createComponent
(
'VALARM'
);
$valarm
->
TRIGGER
=
'-P2W1D'
;
$vevent
->
add
(
$valarm
);
$vcalendar
->
add
(
$vevent
);
$filter
=
array
(
'name'
=>
'VCALENDAR'
,
'is-not-defined'
=>
false
,
'time-range'
=>
null
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(
array
(
'name'
=>
'VEVENT'
,
'is-not-defined'
=>
false
,
'time-range'
=>
null
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(
array
(
'name'
=>
'VALARM'
,
'is-not-defined'
=>
false
,
'prop-filters'
=>
array
(),
'comp-filters'
=>
array
(),
'time-range'
=>
array
(
'start'
=>
new
\DateTime
(
'2011-12-10'
),
'end'
=>
new
\DateTime
(
'2011-12-20'
),
),
),
),
),
),
);
$validator
=
new
CalendarQueryValidator
();
$this
->
assertTrue
(
$validator
->
validate
(
$vcalendar
,
$filter
));
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Dec 21, 12:51 PM (2 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
914393
Default Alt Text
CalendarQueryVAlarmTest.php (3 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment