summaryrefslogtreecommitdiff
path: root/tests/Framework/Csv2vcard.php
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-11-16 13:22:10 +0100
committerAleksander Machniak <alec@alec.pl>2012-11-16 13:22:10 +0100
commit3833790db4dee8607b31c84f26eb0e95bae4c906 (patch)
treef2444e19804f2174cba31d9dd61921caedfb63ee /tests/Framework/Csv2vcard.php
parentc055587d4554d5317a4bb57eaf5acbd9d56789f6 (diff)
Support contacts import from CSV file (#1486399)
Diffstat (limited to 'tests/Framework/Csv2vcard.php')
-rw-r--r--tests/Framework/Csv2vcard.php57
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);
+ }
+}