1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-27 03:32:16 -05:00

Merge pull request #81 from aatdark/issue3814

Improve handling of From: Headers without parseable email addresses (fixes 3814)
This commit is contained in:
Andrew Chen 2011-11-02 17:55:58 -07:00
commit 1e9a40ffd2
2 changed files with 39 additions and 0 deletions

View File

@ -150,6 +150,8 @@ public class Address {
}
} catch (MimeException pe) {
Log.e(K9.LOG_TAG, "MimeException in Address.parse()", pe);
//but we do an silent failover : we just use the given string as name with empty address
addresses.add(new Address(null, addressList,false));
}
return addresses.toArray(EMPTY_ADDRESS_ARRAY);
}

View File

@ -0,0 +1,37 @@
package com.fsck.k9.helper;
import junit.framework.TestCase;
public class Address extends TestCase {
/**
* test the possibility to parse "From:" fields with no email.
* for example: From: News for Vector Limited - Google Finance
* http://code.google.com/p/k9mail/issues/detail?id=3814
*/
public void testParseWithMissingEmail() {
com.fsck.k9.mail.Address[] addresses = com.fsck.k9.mail.Address.parse("NAME ONLY");
assertEquals(1, addresses.length);
assertEquals(null, addresses[0].getAddress());
assertEquals("NAME ONLY", addresses[0].getPersonal());
}
/**
* test name + valid email
*/
public void testPraseWithValidEmail() {
com.fsck.k9.mail.Address[] addresses = com.fsck.k9.mail.Address.parse("Max Mustermann <maxmuster@mann.com>");
assertEquals(1, addresses.length);
assertEquals("maxmuster@mann.com", addresses[0].getAddress());
assertEquals("Max Mustermann", addresses[0].getPersonal());
}
/**
* test with multi email addresses
*/
public void testPraseWithValidEmailMulti() {
com.fsck.k9.mail.Address[] addresses = com.fsck.k9.mail.Address.parse("lorem@ipsum.us,mark@twain.com");
assertEquals(2, addresses.length);
assertEquals("lorem@ipsum.us", addresses[0].getAddress());
assertEquals(null, addresses[0].getPersonal());
assertEquals("mark@twain.com", addresses[1].getAddress());
assertEquals(null, addresses[1].getPersonal());
}
}