Mercurial > hg > rc1
comparison vendor/sabre/vobject/tests/VObject/Component/VJournalTest.php @ 7:430dbd5346f7
vendor sabre as distributed
author | Charlie Root |
---|---|
date | Sat, 13 Jan 2018 09:06:10 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:cec75ba50afc | 7:430dbd5346f7 |
---|---|
1 <?php | |
2 | |
3 namespace Sabre\VObject\Component; | |
4 | |
5 use Sabre\VObject\Component; | |
6 use Sabre\VObject\Reader; | |
7 | |
8 class VJournalTest extends \PHPUnit_Framework_TestCase { | |
9 | |
10 /** | |
11 * @dataProvider timeRangeTestData | |
12 */ | |
13 public function testInTimeRange(VJournal $vtodo,$start,$end,$outcome) { | |
14 | |
15 $this->assertEquals($outcome, $vtodo->isInTimeRange($start, $end)); | |
16 | |
17 } | |
18 | |
19 public function testValidate() { | |
20 | |
21 $input = <<<HI | |
22 BEGIN:VCALENDAR | |
23 VERSION:2.0 | |
24 PRODID:YoYo | |
25 BEGIN:VJOURNAL | |
26 UID:12345678 | |
27 DTSTAMP:20140402T174100Z | |
28 END:VJOURNAL | |
29 END:VCALENDAR | |
30 HI; | |
31 | |
32 $obj = Reader::read($input); | |
33 | |
34 $warnings = $obj->validate(); | |
35 $messages = array(); | |
36 foreach($warnings as $warning) { | |
37 $messages[] = $warning['message']; | |
38 } | |
39 | |
40 $this->assertEquals(array(), $messages); | |
41 | |
42 } | |
43 | |
44 public function testValidateBroken() { | |
45 | |
46 $input = <<<HI | |
47 BEGIN:VCALENDAR | |
48 VERSION:2.0 | |
49 PRODID:YoYo | |
50 BEGIN:VJOURNAL | |
51 UID:12345678 | |
52 DTSTAMP:20140402T174100Z | |
53 URL:http://example.org/ | |
54 URL:http://example.com/ | |
55 END:VJOURNAL | |
56 END:VCALENDAR | |
57 HI; | |
58 | |
59 $obj = Reader::read($input); | |
60 | |
61 $warnings = $obj->validate(); | |
62 $messages = array(); | |
63 foreach($warnings as $warning) { | |
64 $messages[] = $warning['message']; | |
65 } | |
66 | |
67 $this->assertEquals( | |
68 array("URL MUST NOT appear more than once in a VJOURNAL component"), | |
69 $messages | |
70 ); | |
71 | |
72 } | |
73 | |
74 public function timeRangeTestData() { | |
75 | |
76 $calendar = new VCalendar(); | |
77 | |
78 $tests = array(); | |
79 | |
80 $vjournal = $calendar->createComponent('VJOURNAL'); | |
81 $vjournal->DTSTART = '20111223T120000Z'; | |
82 $tests[] = array($vjournal, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), true); | |
83 $tests[] = array($vjournal, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false); | |
84 | |
85 $vjournal2 = $calendar->createComponent('VJOURNAL'); | |
86 $vjournal2->DTSTART = '20111223'; | |
87 $vjournal2->DTSTART['VALUE'] = 'DATE'; | |
88 $tests[] = array($vjournal2, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), true); | |
89 $tests[] = array($vjournal2, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false); | |
90 | |
91 $vjournal3 = $calendar->createComponent('VJOURNAL'); | |
92 $tests[] = array($vjournal3, new \DateTime('2011-01-01'), new \DateTime('2012-01-01'), false); | |
93 $tests[] = array($vjournal3, new \DateTime('2011-01-01'), new \DateTime('2011-11-01'), false); | |
94 | |
95 return $tests; | |
96 } | |
97 | |
98 | |
99 | |
100 } | |
101 |