annotate vendor/sabre/vobject/tests/VObject/Splitter/VCardTest.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
1 <?php
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
3 namespace Sabre\VObject\Splitter;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 use Sabre\VObject;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 class VCardTest extends \PHPUnit_Framework_TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 function createStream($data) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 $stream = fopen('php://memory','r+');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 fwrite($stream, $data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 rewind($stream);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 return $stream;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 function testVCardImportValidVCard() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 $count = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 while($objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 $count++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 $this->assertEquals(1, $count);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 * @expectedException Sabre\VObject\ParseException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 function testVCardImportWrongType() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 UID:foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 DTSTART:20140101T050000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 $event[] = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 BEGIN:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 UID:foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 DTSTAMP:20140122T233226Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 DTSTART:20140101T060000Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 END:VEVENT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 BEGIN:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 $event[0]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 $event[1]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60 END:VCALENDAR
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 $splitter = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 while($object=$splitter->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 function testVCardImportValidVCardsWithCategories() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75 UID:card-in-foo1-and-foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 CATEGORIES:foo1,foo2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 UID:card-in-foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 CATEGORIES:foo1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 UID:card-in-foo3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 CATEGORIES:foo3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 UID:card-in-foo1-and-foo3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88 CATEGORIES:foo1\,foo3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93 $splitter = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 $count = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 while($object=$splitter->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 $count++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 $this->assertEquals(4, $count);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103 function testVCardImportEndOfData() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 $object=$objects->getNext();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114 $this->assertNull($objects->getNext());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120 * @expectedException \Sabre\VObject\ParseException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122 function testVCardImportCheckInvalidArgumentException() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124 BEGIN:FOO
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125 END:FOO
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
129 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
130 while($objects->getNext()) { }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
131
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
132 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
133
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
134 function testVCardImportMultipleValidVCards() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
135 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
136 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
137 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
138 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
139 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
140 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
141 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
142 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
143 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
144
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
145 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
146
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
147 $count = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
148 while($objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
149 $count++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
150 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
151 $this->assertEquals(2, $count);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
152
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
153 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
154
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
155 function testImportMultipleSeparatedWithNewLines() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
156 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
157 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
158 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
159 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
160
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
161
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
162 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
163 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
164 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
165
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
166
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
167 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
168 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
169 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
170
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
171 $count = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
172 while ($objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
173 $count++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
174 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
175 $this->assertEquals(2, $count);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
176 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
177
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
178 function testVCardImportVCardWithoutUID() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
179 $data = <<<EOT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
180 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
181 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
182 EOT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
183 $tempFile = $this->createStream($data);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
184
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
185 $objects = new VCard($tempFile);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
186
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
187 $count = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
188 while($objects->getNext()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
189 $count++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
190 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
191
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
192 $this->assertEquals(1, $count);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
193 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
194
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
195 }