Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d27672f9 authored by cketti's avatar cketti
Browse files

Add EmailHelper.getLocalPartFromEmailAddress()

parent d1045259
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
package com.fsck.k9.helper

object EmailHelper {
    @JvmStatic
    fun getLocalPartFromEmailAddress(email: String): String? {
        val index = email.lastIndexOf('@')
        return if (index == -1 || index == email.lastIndex) null else email.substring(0, index)
    }

    @JvmStatic
    fun getDomainFromEmailAddress(email: String): String? {
        val index = email.lastIndexOf('@')
+28 −0
Original line number Diff line number Diff line
@@ -35,4 +35,32 @@ public class EmailHelperTest {

        assertNull(result);
    }

    @Test
    public void getLocalPartFromEmailAddress_withRegularEmail_shouldReturnLocalPart() {
        String result = EmailHelper.getLocalPartFromEmailAddress("user@domain.com");

        assertEquals("user", result);
    }

    @Test
    public void getLocalPartFromEmailAddress_withAtInLocalPart_shouldReturnLocalPart() {
        String result = EmailHelper.getLocalPartFromEmailAddress("\"user@work\"@domain");

        assertEquals("\"user@work\"", result);
    }

    @Test
    public void getLocalPartFromEmailAddress_withInvalidEmail_shouldReturnNull() {
        String result = EmailHelper.getLocalPartFromEmailAddress("user");

        assertNull(result);
    }

    @Test
    public void getLocalPartFromEmailAddress_withEmptyDomain_shouldReturnNull() {
        String result = EmailHelper.getLocalPartFromEmailAddress("user@");

        assertNull(result);
    }
}