From 5f17657e82abfae6bce0027e243e22a4183174a6 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Thu, 14 Aug 2014 18:19:55 +0200 Subject: Support contacts import in GMail CSV format --- tests/Framework/Csv2vcard.php | 18 ++++++++++++++++++ tests/src/Csv2vcard/gmail.csv | Bin 0 -> 3760 bytes tests/src/Csv2vcard/gmail.vcf | 25 +++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 tests/src/Csv2vcard/gmail.csv create mode 100644 tests/src/Csv2vcard/gmail.vcf (limited to 'tests') diff --git a/tests/Framework/Csv2vcard.php b/tests/Framework/Csv2vcard.php index 5d52efc58..4f48dfaa2 100644 --- a/tests/Framework/Csv2vcard.php +++ b/tests/Framework/Csv2vcard.php @@ -55,4 +55,22 @@ class Framework_Csv2vcard extends PHPUnit_Framework_TestCase $vcard = trim(str_replace("\r\n", "\n", $vcard)); $this->assertEquals($vcf_text, $vcard); } + + function test_import_gmail() + { + $csv_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/gmail.csv'); + $vcf_text = file_get_contents(TESTS_DIR . '/src/Csv2vcard/gmail.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); + } } diff --git a/tests/src/Csv2vcard/gmail.csv b/tests/src/Csv2vcard/gmail.csv new file mode 100644 index 000000000..9f67fe9f5 Binary files /dev/null and b/tests/src/Csv2vcard/gmail.csv differ diff --git a/tests/src/Csv2vcard/gmail.vcf b/tests/src/Csv2vcard/gmail.vcf new file mode 100644 index 000000000..5337d7e63 --- /dev/null +++ b/tests/src/Csv2vcard/gmail.vcf @@ -0,0 +1,25 @@ +BEGIN:VCARD +VERSION:3.0 +FN:Prefix Firstname Middle Lastname Suffix +N:Lastname;Firstname;Middle;Prefix;Suffix +NICKNAME:nick +BDAY;VALUE=date:1975-12-12 +NOTE:note"note +CATEGORIES:My Contacts +EMAIL;TYPE=INTERNET;TYPE=HOME:home@aaa.pl +EMAIL;TYPE=INTERNET;TYPE=WORK:work@email.pl +TEL;TYPE=pager:pager +TEL;TYPE=pref:mainphone +TEL;TYPE=home:homephone +TEL;TYPE=homefax:homefax +TEL;TYPE=cell:mobile +TEL;TYPE=work:workphone +TEL;TYPE=workfax:workfax +X-SPOUSE:spouse +URL;TYPE=profile:test.com +URL;TYPE=homepage:home.page.com +ORG:company +TITLE:jobtitle +ADR;TYPE=home:;;home_street;home_city;home_state;home_zip;home_country +ADR;TYPE=work:;;work_street;work_city;;work_zip;work_country +END:VCARD -- cgit v1.2.3