summaryrefslogtreecommitdiff
path: root/tests/Framework/VCard.php
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2014-01-30 09:12:57 +0100
committerThomas Bruederli <thomas@roundcube.net>2014-01-30 09:12:57 +0100
commit8c893b79d230cc844226bdf3b1de95cd5a99ecb2 (patch)
treef8e6e1df519c9b85bd16bdc31f1ae6a3b16ce6e7 /tests/Framework/VCard.php
parent1978ae97a5e0feb8d205c5fcbaa2cc16ce3ffc28 (diff)
Branching off for release 1.0
Diffstat (limited to 'tests/Framework/VCard.php')
-rw-r--r--tests/Framework/VCard.php119
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");
- }
-}