5 class Sabre_CalDAV_CalendarQueryVAlarmTest extends PHPUnit_Framework_TestCase {
8 * This test is specifically for a time-range query on a VALARM, contained
9 * in a VEVENT that's recurring
11 function testValarm() {
13 $vevent = VObject\Component::create('VEVENT');
14 $vevent->RRULE = 'FREQ=MONTHLY';
15 $vevent->DTSTART = '20120101T120000Z';
18 $valarm = VObject\Component::create('VALARM');
19 $valarm->TRIGGER = '-P15D';
20 $vevent->add($valarm);
22 $vcalendar = VObject\Component::create('VCALENDAR');
23 $vcalendar->add($vevent);
26 'name' => 'VCALENDAR',
27 'is-not-defined' => false,
29 'prop-filters' => array(),
30 'comp-filters' => array(
33 'is-not-defined' => false,
35 'prop-filters' => array(),
36 'comp-filters' => array(
39 'is-not-defined' => false,
40 'prop-filters' => array(),
41 'comp-filters' => array(),
42 'time-range' => array(
43 'start' => new DateTime('2012-05-10'),
44 'end' => new DateTime('2012-05-20'),
52 $validator = new Sabre_CalDAV_CalendarQueryValidator();
53 $this->assertTrue($validator->validate($vcalendar, $filter));
56 // A limited recurrence rule, should return false
57 $vevent = VObject\Component::create('VEVENT');
58 $vevent->RRULE = 'FREQ=MONTHLY;COUNT=1';
59 $vevent->DTSTART = '20120101T120000Z';
62 $valarm = VObject\Component::create('VALARM');
63 $valarm->TRIGGER = '-P15D';
64 $vevent->add($valarm);
66 $vcalendar = VObject\Component::create('VCALENDAR');
67 $vcalendar->add($vevent);
69 $this->assertFalse($validator->validate($vcalendar, $filter));
72 function testAlarmWayBefore() {
74 $vevent = VObject\Component::create('VEVENT');
75 $vevent->DTSTART = '20120101T120000Z';
78 $valarm = VObject\Component::create('VALARM');
79 $valarm->TRIGGER = '-P2W1D';
80 $vevent->add($valarm);
82 $vcalendar = VObject\Component::create('VCALENDAR');
83 $vcalendar->add($vevent);
86 'name' => 'VCALENDAR',
87 'is-not-defined' => false,
89 'prop-filters' => array(),
90 'comp-filters' => array(
93 'is-not-defined' => false,
95 'prop-filters' => array(),
96 'comp-filters' => array(
99 'is-not-defined' => false,
100 'prop-filters' => array(),
101 'comp-filters' => array(),
102 'time-range' => array(
103 'start' => new DateTime('2011-12-10'),
104 'end' => new DateTime('2011-12-20'),
112 $validator = new Sabre_CalDAV_CalendarQueryValidator();
113 $this->assertTrue($validator->validate($vcalendar, $filter));