diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-11-17 16:24:09 +0100 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-11-17 16:24:09 +0100 |
commit | 6ddb16d181e285d4f0ef0ef55bdd0ba787f1b583 (patch) | |
tree | 5f186f89d5d7f77592acf3aec676b48367a96d48 /tests/Framework/Csv2vcard.php | |
parent | bc66f7d6d208ac99dcec57992c4eb955570d85bc (diff) | |
parent | 9ab34604d94270f6c1795c7dd7b615273d05db0c (diff) |
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'tests/Framework/Csv2vcard.php')
-rw-r--r-- | tests/Framework/Csv2vcard.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/Framework/Csv2vcard.php b/tests/Framework/Csv2vcard.php new file mode 100644 index 000000000..6fa3e163c --- /dev/null +++ b/tests/Framework/Csv2vcard.php @@ -0,0 +1,57 @@ +<?php + +/** + * Test class to test rcube_csv2vcard class + * + * @package Tests + */ +class Framework_Csv2vcard extends PHPUnit_Framework_TestCase +{ + + function test_import_generic() + { + $csv = new rcube_csv2vcard; + + // empty input + $csv->import(''); + $this->assertSame(array(), $csv->export()); + } + + function test_import_tb_plain() + { + $csv_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/tb_plain.csv'); + $vcf_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/tb_plain.vcf'); + + $csv = new rcube_csv2vcard; + $csv->import($csv_text); + $result = $csv->export(); + $vcard = $result[0]->export(false); + + $this->assertCount(1, $result); + + $vcf_text = trim(str_replace("\r\n", "\n", $vcf_text)); + $vcard = trim(str_replace("\r\n", "\n", $vcard)); + $this->assertEquals($vcf_text, $vcard); + } + + function test_import_email() + { + $csv_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/email.csv'); + $vcf_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/email.vcf'); + + $csv = new rcube_csv2vcard; + $csv->import($csv_text); + $result = $csv->export(); + + $this->assertCount(4, $result); + + $vcard = ''; + foreach ($result as $vcf) { + $vcard .= $vcf->export(false) . "\n"; + } + + $vcf_text = trim(str_replace("\r\n", "\n", $vcf_text)); + $vcard = trim(str_replace("\r\n", "\n", $vcard)); + $this->assertEquals($vcf_text, $vcard); + } +} |