diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt | 7 | ||||
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt | 15 |
2 files changed, 20 insertions, 2 deletions
diff --git a/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt b/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt index 2f7028a4..cdc822e5 100644 --- a/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt +++ b/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt @@ -34,6 +34,10 @@ class PasswordEntryTest { } @Test fun testGetUsername() { + for (field in PasswordEntry.USERNAME_FIELDS) { + assertEquals("username", PasswordEntry("\n$field username").username) + assertEquals("username", PasswordEntry("\n${field.toUpperCase()} username").username) + } assertEquals( "username", PasswordEntry("secret\nextra\nlogin: username\ncontent\n").username) @@ -42,6 +46,9 @@ class PasswordEntryTest { PasswordEntry("\nextra\nusername: username\ncontent\n").username) assertEquals( "username", PasswordEntry("\nUSERNaMe: username\ncontent\n").username) + assertEquals("username", PasswordEntry("\nlogin: username").username) + assertEquals("foo@example.com", PasswordEntry("\nemail: foo@example.com").username) + assertEquals("username", PasswordEntry("\nidentity: username\nlogin: another_username").username) assertEquals("username", PasswordEntry("\nLOGiN:username").username) assertNull(PasswordEntry("secret\nextra\ncontent\n").username) } diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt b/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt index c75fb02d..002c381d 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt @@ -5,6 +5,8 @@ package com.zeapo.pwdstore import android.net.Uri +import androidx.annotation.VisibleForTesting +import androidx.annotation.VisibleForTesting.PRIVATE import java.io.ByteArrayOutputStream import java.io.UnsupportedEncodingException @@ -162,7 +164,16 @@ class PasswordEntry(private val content: String) { } companion object { - - private val USERNAME_FIELDS = arrayOf("login:", "username:") + @VisibleForTesting(otherwise = PRIVATE) + val USERNAME_FIELDS = arrayOf( + "login:", + "username:", + "account:", + "email:", + "name:", + "handle:", + "id:", + "identity:" + ) } } |