annotate vendor/sabre/vobject/tests/VObject/VCardConverterTest.php @ 43:771f6803cc4b default tip

somehow lost the correctly updated metadata so e.g. 'mail' package wasn't being imported
author Charlie Root
date Sun, 26 Jan 2025 13:13:49 -0500
parents 430dbd5346f7
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;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 class VCardConverterTest extends TestCase {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 function testConvert30to40() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 FN;CHARSET=UTF-8:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 TEL;TYPE=PREF,HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 ITEM1.TEL:+1 444 555 666
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 ITEM1.X-ABLABEL:CustomLabel
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 PHOTO;ENCODING=b;TYPE=JPEG,HOME:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 PHOTO;ENCODING=b;TYPE=GIF:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 PHOTO;X-PARAM=FOO;ENCODING=b;TYPE=PNG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 PHOTO;VALUE=URI:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 X-ABShowAs:COMPANY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 FN:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 TEL;PREF=1;TYPE=HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 ITEM1.TEL:+1 444 555 666
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 ITEM1.X-ABLABEL:CustomLabel
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 PHOTO;TYPE=HOME:data:image/jpeg;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 PHOTO:data:image/gif;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 PHOTO;X-PARAM=FOO:data:image/png;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 PHOTO:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 KIND:ORG
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 function testConvert40to40() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 FN:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 TEL;PREF=1;TYPE=HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 PHOTO:data:image/jpeg;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 PHOTO:data:image/gif;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 PHOTO;X-PARAM=FOO:data:image/png;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60 PHOTO:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 FN:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 TEL;PREF=1;TYPE=HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 PHOTO:data:image/jpeg;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71 PHOTO:data:image/gif;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 PHOTO;X-PARAM=FOO:data:image/png;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 PHOTO:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88 function testConvert21to40() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92 VERSION:2.1
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93 N:Family;Johnson
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 FN:Johnson Family
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 TEL;HOME;VOICE:555-12345-345
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 ADR;HOME:;;100 Street Lane;Saubel Beach;ON;H0H0H0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 LABEL;HOME;ENCODING=QUOTED-PRINTABLE:100 Street Lane=0D=0ASaubel Beach,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 ON H0H0H0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 REV:20110731T040251Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 UID:12345678
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 N:Family;Johnson;;;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108 FN:Johnson Family
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109 TEL;TYPE=HOME,VOICE:555-12345-345
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110 ADR;TYPE=HOME:;;100 Street Lane;Saubel Beach;ON;H0H0H0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111 REV:20110731T040251Z
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 UID:12345678
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127 function testConvert30to30() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
129 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
130 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
131 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
132 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
133 FN;CHARSET=UTF-8:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
134 TEL;TYPE=PREF,HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
135 PHOTO;ENCODING=b;TYPE=JPEG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
136 PHOTO;ENCODING=b;TYPE=GIF:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
137 PHOTO;X-PARAM=FOO;ENCODING=b;TYPE=PNG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
138 PHOTO;VALUE=URI:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
139 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
140
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
141 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
142
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
143 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
144 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
145 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
146 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
147 FN;CHARSET=UTF-8:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
148 TEL;TYPE=PREF,HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
149 PHOTO;ENCODING=b;TYPE=JPEG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
150 PHOTO;ENCODING=b;TYPE=GIF:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
151 PHOTO;X-PARAM=FOO;ENCODING=b;TYPE=PNG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
152 PHOTO;VALUE=URI:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
153 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
154
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
155 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
156
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
157 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
158 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
159
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
160 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
161 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
162 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
163 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
164
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 function testConvert40to30() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
168
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
169 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
170 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
171 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
172 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
173 FN:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
174 TEL;PREF=1;TYPE=HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
175 PHOTO:data:image/jpeg;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
176 PHOTO:data:image/gif,foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
177 PHOTO;X-PARAM=FOO:data:image/png;base64,Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
178 PHOTO:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
179 KIND:ORG
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
180 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
181
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
182 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
183
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
184 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
185 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
186 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
187 FN:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
188 TEL;TYPE=PREF,HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
189 PHOTO;ENCODING=b;TYPE=JPEG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
190 PHOTO;ENCODING=b;TYPE=GIF:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
191 PHOTO;ENCODING=b;TYPE=PNG;X-PARAM=FOO:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
192 PHOTO;VALUE=URI:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
193 X-ABSHOWAS:COMPANY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
194 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
195
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
196 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
197
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
198 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
199 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
200
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
201 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
202 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
203 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
204 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
205
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
206 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
207
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
208 function testConvertGroupCard() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
209
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
210 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
211 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
212 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
213 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
214 X-ADDRESSBOOKSERVER-KIND:GROUP
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
215 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
216
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
217 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
218
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
219 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
220 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
221 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
222 KIND:GROUP
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
223 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
224
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
225 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
226
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
227 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
228 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
229
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
230 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
231 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
232 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
233 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
234
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
235 $input = $output;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
236 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
237 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
238 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
239 X-ADDRESSBOOKSERVER-KIND:GROUP
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
240 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
241
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
242 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
243
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
244 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
245 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
246
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
247 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
248 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
249 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
250 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
251
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
252 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
253
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
254 function testBDAYConversion() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
255
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
256 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
257 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
258 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
259 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
260 BDAY;X-APPLE-OMIT-YEAR=1604:1604-04-16
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
261 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
262
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
263 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
264
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
265 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
266 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
267 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
268 BDAY:--04-16
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
269 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
270
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
271 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
272
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
273 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
274 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
275
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
276 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
277 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
278 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
279 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
280
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
281 $input = $output;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
282 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
283 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
284 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
285 BDAY;X-APPLE-OMIT-YEAR=1604:1604-04-16
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
286 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
287
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
288 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
289
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
290 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
291 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
292
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
293 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
294 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
295 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
296 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
297
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
298 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
299
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
300 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
301 * @expectedException InvalidArgumentException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
302 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
303 function testUnknownSourceVCardVersion() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
304
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
305 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
306 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
307 VERSION:4.2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
308 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
309 FN;CHARSET=UTF-8:Steve
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
310 TEL;TYPE=PREF,HOME:+1 555 666 777
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
311 ITEM1.TEL:+1 444 555 666
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
312 ITEM1.X-ABLABEL:CustomLabel
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
313 PHOTO;ENCODING=b;TYPE=JPEG,HOME:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
314 PHOTO;ENCODING=b;TYPE=GIF:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
315 PHOTO;X-PARAM=FOO;ENCODING=b;TYPE=PNG:Zm9v
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
316 PHOTO;VALUE=URI:http://example.org/foo.png
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
317 X-ABShowAs:COMPANY
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
318 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
319
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
320 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
321
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
322 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
323 $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
324
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
325 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
326
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
327 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
328 * @expectedException InvalidArgumentException
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
329 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
330 function testUnknownTargetVCardVersion() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
331
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
332 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
333 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
334 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
335 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
336 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
337
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
338 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
339
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
340 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
341 $vcard->convert(Document::VCARD21);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
342
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
343 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
344
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
345 function testConvertIndividualCard() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
346
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
347 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
348 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
349 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
350 PRODID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
351 KIND:INDIVIDUAL
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
352 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
353
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
354 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
355
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
356 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
357 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
358 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
359 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
360
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
361 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
362
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
363 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
364 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
365
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
366 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
367 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
368 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
369 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
370
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
371 $input = $output;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
372 $output = <<<OUT
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
373 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
374 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
375 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
376
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
377 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
378
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
379 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
380 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
381
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
382 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
383 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
384 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
385 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
386
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
387 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
388
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
389 function testAnniversary() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
390
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
391 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
392 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
393 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
394 ITEM1.ANNIVERSARY:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
395 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
396
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
397 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
398
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
399 $output = <<<'OUT'
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
400 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
401 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
402 ITEM1.X-ABDATE;VALUE=DATE-AND-OR-TIME:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
403 ITEM1.X-ABLABEL:_$!<Anniversary>!$_
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
404 ITEM1.X-ANNIVERSARY;VALUE=DATE-AND-OR-TIME:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
405 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
406
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
407 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
408
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
409 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
410 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
411
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
412 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
413 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
414 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
415 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
416
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
417 // Swapping input and output
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
418 list(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
419 $input,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
420 $output
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
421 ) = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
422 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
423 $input
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
424 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
425
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
426 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
427 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
428
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
429 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
430 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
431 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
432 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
433
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
434 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
435
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
436 function testMultipleAnniversaries() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
437
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
438 $input = <<<IN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
439 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
440 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
441 ITEM1.ANNIVERSARY:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
442 ITEM2.ANNIVERSARY:20091210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
443 ITEM3.ANNIVERSARY:20101210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
444 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
445
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
446 IN;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
447
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
448 $output = <<<'OUT'
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
449 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
450 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
451 ITEM1.X-ABDATE;VALUE=DATE-AND-OR-TIME:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
452 ITEM1.X-ABLABEL:_$!<Anniversary>!$_
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
453 ITEM1.X-ANNIVERSARY;VALUE=DATE-AND-OR-TIME:20081210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
454 ITEM2.X-ABDATE;VALUE=DATE-AND-OR-TIME:20091210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
455 ITEM2.X-ABLABEL:_$!<Anniversary>!$_
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
456 ITEM2.X-ANNIVERSARY;VALUE=DATE-AND-OR-TIME:20091210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
457 ITEM3.X-ABDATE;VALUE=DATE-AND-OR-TIME:20101210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
458 ITEM3.X-ABLABEL:_$!<Anniversary>!$_
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
459 ITEM3.X-ANNIVERSARY;VALUE=DATE-AND-OR-TIME:20101210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
460 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
461
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
462 OUT;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
463
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
464 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
465 $vcard = $vcard->convert(Document::VCARD30);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
466
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
467 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
468 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
469 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
470 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
471
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
472 // Swapping input and output
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
473 list(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
474 $input,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
475 $output
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
476 ) = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
477 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
478 $input
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
479 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
480
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
481 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
482 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
483
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
484 $this->assertVObjEquals(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
485 $output,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
486 $vcard
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
487 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
488
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
489 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
490
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
491 function testNoLabel() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
492
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
493 $input = <<<VCF
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
494 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
495 VERSION:3.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
496 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
497 N:Doe;John;;;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
498 FN:John Doe
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
499 item1.X-ABDATE;type=pref:2008-12-11
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
500 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
501
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
502 VCF;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
503
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
504 $vcard = Reader::read($input);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
505
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
506 $this->assertInstanceOf('Sabre\\VObject\\Component\\VCard', $vcard);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
507 $vcard = $vcard->convert(Document::VCARD40);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
508 $vcard = $vcard->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
509
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
510 $converted = Reader::read($vcard);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
511 $converted->validate();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
512
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
513 $version = Version::VERSION;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
514
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
515 $expected = <<<VCF
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
516 BEGIN:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
517 VERSION:4.0
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
518 PRODID:-//Sabre//Sabre VObject $version//EN
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
519 UID:foo
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
520 N:Doe;John;;;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
521 FN:John Doe
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
522 ITEM1.X-ABDATE;PREF=1:2008-12-11
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
523 END:VCARD
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
524
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
525 VCF;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
526
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
527 $this->assertEquals($expected, str_replace("\r","", $vcard));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
528
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
529 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
530
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
531 }