This test is specifically for a time-range query on a VALARM, contained in a VEVENT that's recurring.
13 {
14
15 $vcalendar = new VObject\Component\VCalendar();
16
17 $vevent = $vcalendar->createComponent('VEVENT');
18 $vevent->RRULE = 'FREQ=MONTHLY';
19 $vevent->DTSTART = '20120101T120000Z';
20 $vevent->UID = 'bla';
21
22 $valarm = $vcalendar->createComponent('VALARM');
23 $valarm->TRIGGER = '-P15D';
24 $vevent->add($valarm);
25
26
27 $vcalendar->add($vevent);
28
29 $filter = [
30 'name' => 'VCALENDAR',
31 'is-not-defined' => false,
32 'time-range' => null,
33 'prop-filters' => [],
34 'comp-filters' => [
35 [
36 'name' => 'VEVENT',
37 'is-not-defined' => false,
38 'time-range' => null,
39 'prop-filters' => [],
40 'comp-filters' => [
41 [
42 'name' => 'VALARM',
43 'is-not-defined' => false,
44 'prop-filters' => [],
45 'comp-filters' => [],
46 'time-range' => [
47 'start' => new \DateTime('2012-05-10'),
48 'end' => new \DateTime('2012-05-20'),
49 ],
50 ],
51 ],
52 ],
53 ],
54 ];
55
56 $validator = new CalendarQueryValidator();
57 $this->assertTrue($validator->validate($vcalendar, $filter));
58
59 $vcalendar = new VObject\Component\VCalendar();
60
61
62 $vevent = $vcalendar->createComponent('VEVENT');
63 $vevent->RRULE = 'FREQ=MONTHLY;COUNT=1';
64 $vevent->DTSTART = '20120101T120000Z';
65 $vevent->UID = 'bla';
66
67 $valarm = $vcalendar->createComponent('VALARM');
68 $valarm->TRIGGER = '-P15D';
69 $vevent->add($valarm);
70
71 $vcalendar->add($vevent);
72
73 $this->assertFalse($validator->validate($vcalendar, $filter));
74 }