summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt7
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordEntry.kt15
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:"
+ )
}
}