3 class Sabre_CalDAV_CalendarQueryVAlarmTest extends PHPUnit_Framework_TestCase {
6 * This test is specifically for a time-range query on a VALARM, contained
7 * in a VEVENT that's recurring
9 function testValarm() {
11 $vevent = Sabre_VObject_Component::create('VEVENT');
12 $vevent->RRULE = 'FREQ=MONTHLY';
13 $vevent->DTSTART = '20120101T120000Z';
16 $valarm = Sabre_VObject_Component::create('VALARM');
17 $valarm->TRIGGER = '-P15D';
18 $vevent->add($valarm);
20 $vcalendar = Sabre_VObject_Component::create('VCALENDAR');
21 $vcalendar->add($vevent);
24 'name' => 'VCALENDAR',
25 'is-not-defined' => false,
27 'prop-filters' => array(),
28 'comp-filters' => array(
31 'is-not-defined' => false,
33 'prop-filters' => array(),
34 'comp-filters' => array(
37 'is-not-defined' => false,
38 'prop-filters' => array(),
39 'comp-filters' => array(),
40 'time-range' => array(
41 'start' => new DateTime('2012-05-10'),
42 'end' => new DateTime('2012-05-20'),
50 $validator = new Sabre_CalDAV_CalendarQueryValidator();
51 $this->assertTrue($validator->validate($vcalendar, $filter));
54 // A limited recurrence rule, should return false
55 $vevent = Sabre_VObject_Component::create('VEVENT');
56 $vevent->RRULE = 'FREQ=MONTHLY;COUNT=1';
57 $vevent->DTSTART = '20120101T120000Z';
60 $valarm = Sabre_VObject_Component::create('VALARM');
61 $valarm->TRIGGER = '-P15D';
62 $vevent->add($valarm);
64 $vcalendar = Sabre_VObject_Component::create('VCALENDAR');
65 $vcalendar->add($vevent);
67 $this->assertFalse($validator->validate($vcalendar, $filter));
70 function testAlarmWayBefore() {
72 $vevent = Sabre_VObject_Component::create('VEVENT');
73 $vevent->DTSTART = '20120101T120000Z';
76 $valarm = Sabre_VObject_Component::create('VALARM');
77 $valarm->TRIGGER = '-P2W1D';
78 $vevent->add($valarm);
80 $vcalendar = Sabre_VObject_Component::create('VCALENDAR');
81 $vcalendar->add($vevent);
84 'name' => 'VCALENDAR',
85 'is-not-defined' => false,
87 'prop-filters' => array(),
88 'comp-filters' => array(
91 'is-not-defined' => false,
93 'prop-filters' => array(),
94 'comp-filters' => array(
97 'is-not-defined' => false,
98 'prop-filters' => array(),
99 'comp-filters' => array(),
100 'time-range' => array(
101 'start' => new DateTime('2011-12-10'),
102 'end' => new DateTime('2011-12-20'),
110 $validator = new Sabre_CalDAV_CalendarQueryValidator();
111 $this->assertTrue($validator->validate($vcalendar, $filter));