diff options
Diffstat (limited to 'tests/Framework/VCard.php')
-rw-r--r-- | tests/Framework/VCard.php | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/tests/Framework/VCard.php b/tests/Framework/VCard.php deleted file mode 100644 index 3353b5b13..000000000 --- a/tests/Framework/VCard.php +++ /dev/null @@ -1,119 +0,0 @@ -<?php - -/** - * Unit tests for class rcube_vcard - * - * @package Tests - */ -class Framework_VCard extends PHPUnit_Framework_TestCase -{ - - function _srcpath($fn) - { - return realpath(dirname(__FILE__) . '/../src/' . $fn); - } - - function test_parse_one() - { - $vcard = new rcube_vcard(file_get_contents($this->_srcpath('apple.vcf'))); - - $this->assertTrue($vcard->business, "Identify as business record"); - $this->assertEquals("Apple Computer AG", $vcard->displayname, "FN => displayname"); - $this->assertEquals("", $vcard->firstname, "No person name set"); - } - - function test_parse_two() - { - $vcard = new rcube_vcard(file_get_contents($this->_srcpath('johndoe.vcf')), null); - - $this->assertFalse($vcard->business, "Identify as private record"); - $this->assertEquals("John Doë", $vcard->displayname, "Decode according to charset attribute"); - $this->assertEquals("roundcube.net", $vcard->organization, "Test organization field"); - $this->assertCount(2, $vcard->email, "List two e-mail addresses"); - $this->assertEquals("roundcube@gmail.com", $vcard->email[0], "Use PREF e-mail as primary"); - } - - /** - * Make sure MOBILE phone is returned as CELL (as specified in standard) - */ - function test_parse_three() - { - $vcard = new rcube_vcard(file_get_contents($this->_srcpath('johndoe.vcf')), null); - - $vcf = $vcard->export(); - $this->assertRegExp('/TEL;CELL:\+987654321/', $vcf, "Return CELL instead of MOBILE (import)"); - - $vcard = new rcube_vcard(); - $vcard->set('phone', '+987654321', 'MOBILE'); - - $vcf = $vcard->export(); - $this->assertRegExp('/TEL;TYPE=CELL:\+987654321/', $vcf, "Return CELL instead of MOBILE (set)"); - } - - /** - * Backslash escaping test (#1488896) - */ - function test_parse_four() - { - $vcard = "BEGIN:VCARD\nVERSION:3.0\nN:last\\;;first\\\\;middle\\\\\\;\\\\;prefix;\nFN:test\nEND:VCARD"; - $vcard = new rcube_vcard($vcard, null); - $vcard = $vcard->get_assoc(); - - $this->assertEquals("last;", $vcard['surname'], "Decode backslash character"); - $this->assertEquals("first\\", $vcard['firstname'], "Decode backslash character"); - $this->assertEquals("middle\\;\\", $vcard['middlename'], "Decode backslash character"); - $this->assertEquals("prefix", $vcard['prefix'], "Decode backslash character"); - } - - /** - * Backslash parsing test (#1489085) - */ - function test_parse_five() - { - $vcard = "BEGIN:VCARD\nVERSION:3.0\nN:last\\\\\\a;fir\\nst\nURL:http\\://domain.tld\nEND:VCARD"; - $vcard = new rcube_vcard($vcard, null); - $vcard = $vcard->get_assoc(); - - $this->assertEquals("last\\a", $vcard['surname'], "Decode dummy backslash character"); - $this->assertEquals("fir\nst", $vcard['firstname'], "Decode backslash character"); - $this->assertEquals("http://domain.tld", $vcard['website:other'][0], "Decode dummy backslash character"); - } - - function test_import() - { - $input = file_get_contents($this->_srcpath('apple.vcf')); - $input .= file_get_contents($this->_srcpath('johndoe.vcf')); - - $vcards = rcube_vcard::import($input); - - $this->assertCount(2, $vcards, "Detected 2 vcards"); - $this->assertEquals("Apple Computer AG", $vcards[0]->displayname, "FN => displayname"); - $this->assertEquals("John Doë", $vcards[1]->displayname, "Displayname with correct charset"); - - // http://trac.roundcube.net/ticket/1485542 - $vcards2 = rcube_vcard::import(file_get_contents($this->_srcpath('thebat.vcf'))); - $this->assertEquals("Iksiñski", $vcards2[0]->surname, "Detect charset in encoded values"); - } - - function test_import_photo_encoding() - { - $input = file_get_contents($this->_srcpath('photo.vcf')); - - $vcards = rcube_vcard::import($input); - $vcard = $vcards[0]->get_assoc(); - - $this->assertCount(1, $vcards, "Detected 1 vcard"); - - // ENCODING=b case (#1488683) - $this->assertEquals("/9j/4AAQSkZJRgABAQA", substr(base64_encode($vcard['photo']), 0, 19), "Photo decoding"); - $this->assertEquals("Müller", $vcard['surname'], "Unicode characters"); - } - - function test_encodings() - { - $input = file_get_contents($this->_srcpath('utf-16_sample.vcf')); - - $vcards = rcube_vcard::import($input); - $this->assertEquals("Ǽgean ĽdaMonté", $vcards[0]->displayname, "Decoded from UTF-16"); - } -} |