xref: /plugin/davcal/vendor/sabre/vobject/tests/VObject/EmptyParameterTest.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab)
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlernamespace Sabre\VObject;
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehlerclass IssueEmptyParameterTest extends \PHPUnit_Framework_TestCase {
6*a1a3b679SAndreas Boehler
7*a1a3b679SAndreas Boehler    function testRead() {
8*a1a3b679SAndreas Boehler
9*a1a3b679SAndreas Boehler        $input = <<<VCF
10*a1a3b679SAndreas BoehlerBEGIN:VCARD
11*a1a3b679SAndreas BoehlerVERSION:2.1
12*a1a3b679SAndreas BoehlerN:Doe;Jon;;;
13*a1a3b679SAndreas BoehlerFN:Jon Doe
14*a1a3b679SAndreas BoehlerEMAIL;X-INTERN:foo@example.org
15*a1a3b679SAndreas BoehlerUID:foo
16*a1a3b679SAndreas BoehlerEND:VCARD
17*a1a3b679SAndreas BoehlerVCF;
18*a1a3b679SAndreas Boehler
19*a1a3b679SAndreas Boehler        $vcard = Reader::read($input);
20*a1a3b679SAndreas Boehler
21*a1a3b679SAndreas Boehler        $this->assertInstanceOf('Sabre\\VObject\\Component\\VCard', $vcard);
22*a1a3b679SAndreas Boehler        $vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
23*a1a3b679SAndreas Boehler        $vcard = $vcard->serialize();
24*a1a3b679SAndreas Boehler
25*a1a3b679SAndreas Boehler        $converted = Reader::read($vcard);
26*a1a3b679SAndreas Boehler        $converted->validate();
27*a1a3b679SAndreas Boehler
28*a1a3b679SAndreas Boehler        $this->assertTrue(isset($converted->EMAIL['X-INTERN']));
29*a1a3b679SAndreas Boehler
30*a1a3b679SAndreas Boehler        $version = Version::VERSION;
31*a1a3b679SAndreas Boehler
32*a1a3b679SAndreas Boehler        $expected = <<<VCF
33*a1a3b679SAndreas BoehlerBEGIN:VCARD
34*a1a3b679SAndreas BoehlerVERSION:3.0
35*a1a3b679SAndreas BoehlerPRODID:-//Sabre//Sabre VObject $version//EN
36*a1a3b679SAndreas BoehlerN:Doe;Jon;;;
37*a1a3b679SAndreas BoehlerFN:Jon Doe
38*a1a3b679SAndreas BoehlerEMAIL;X-INTERN=:foo@example.org
39*a1a3b679SAndreas BoehlerUID:foo
40*a1a3b679SAndreas BoehlerEND:VCARD
41*a1a3b679SAndreas Boehler
42*a1a3b679SAndreas BoehlerVCF;
43*a1a3b679SAndreas Boehler
44*a1a3b679SAndreas Boehler        $this->assertEquals($expected, str_replace("\r","", $vcard));
45*a1a3b679SAndreas Boehler
46*a1a3b679SAndreas Boehler    }
47*a1a3b679SAndreas Boehler
48*a1a3b679SAndreas Boehler    function testVCard21Parameter() {
49*a1a3b679SAndreas Boehler
50*a1a3b679SAndreas Boehler        $vcard = new Component\VCard(array(), false);
51*a1a3b679SAndreas Boehler        $vcard->VERSION = '2.1';
52*a1a3b679SAndreas Boehler        $vcard->PHOTO = 'random_stuff';
53*a1a3b679SAndreas Boehler        $vcard->PHOTO->add(null,'BASE64');
54*a1a3b679SAndreas Boehler        $vcard->UID = 'foo-bar';
55*a1a3b679SAndreas Boehler
56*a1a3b679SAndreas Boehler        $result = $vcard->serialize();
57*a1a3b679SAndreas Boehler        $expected = array(
58*a1a3b679SAndreas Boehler            "BEGIN:VCARD",
59*a1a3b679SAndreas Boehler            "VERSION:2.1",
60*a1a3b679SAndreas Boehler            "PHOTO;BASE64:" . base64_encode('random_stuff'),
61*a1a3b679SAndreas Boehler            "UID:foo-bar",
62*a1a3b679SAndreas Boehler            "END:VCARD",
63*a1a3b679SAndreas Boehler            "",
64*a1a3b679SAndreas Boehler        );
65*a1a3b679SAndreas Boehler
66*a1a3b679SAndreas Boehler        $this->assertEquals(implode("\r\n", $expected), $result);
67*a1a3b679SAndreas Boehler
68*a1a3b679SAndreas Boehler    }
69*a1a3b679SAndreas Boehler}
70