From 67815910920de344605280802fda542c141c2c98 Mon Sep 17 00:00:00 2001 From: thomasb Date: Tue, 26 Jan 2010 07:19:56 +0000 Subject: Improved charset detection in vcard import + added unit tests for it git-svn-id: https://svn.roundcube.net/trunk@3224 208e9e7b-5314-0410-a742-e7e81cd9613c --- roundcubemail/tests/vcards.php | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 roundcubemail/tests/vcards.php (limited to 'roundcubemail/tests/vcards.php') diff --git a/roundcubemail/tests/vcards.php b/roundcubemail/tests/vcards.php new file mode 100644 index 000000000..72c687484 --- /dev/null +++ b/roundcubemail/tests/vcards.php @@ -0,0 +1,53 @@ +UnitTestCase('Vcard encoding/decoding tests'); + } + + 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->assertEqual(true, $vcard->business, "Identify as business record"); + $this->assertEqual("Apple Computer AG", $vcard->displayname, "FN => displayname"); + $this->assertEqual("", $vcard->firstname, "No person name set"); + } + + function test_parse_two() + { + $vcard = new rcube_vcard(file_get_contents($this->_srcpath('johndoe.vcf')), null); + + $this->assertEqual(false, $vcard->business, "Identify as private record"); + $this->assertEqual("John Doë", $vcard->displayname, "Decode according to charset attribute"); + $this->assertEqual("roundcube.net", $vcard->organization, "Test organization field"); + $this->assertEqual(2, count($vcard->email), "List two e-mail addresses"); + $this->assertEqual("roundcube@gmail.com", $vcard->email[0], "Use PREF e-mail as primary"); + } + + 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->assertEqual(2, count($vcards), "Detected 2 vcards"); + $this->assertEqual("Apple Computer AG", $vcards[0]->displayname, "FN => displayname"); + $this->assertEqual("John Doë", $vcards[1]->displayname, "Displayname with correct charset"); + } + +} -- cgit v1.2.3