mirror of
https://github.com/android-password-store/Android-Password-Store
synced 2025-09-01 14:55:19 +00:00
PasswordEntry: add more potential fields for username (#764)
This commit is contained in:
@@ -34,6 +34,10 @@ class PasswordEntryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test fun testGetUsername() {
|
@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(
|
assertEquals(
|
||||||
"username",
|
"username",
|
||||||
PasswordEntry("secret\nextra\nlogin: username\ncontent\n").username)
|
PasswordEntry("secret\nextra\nlogin: username\ncontent\n").username)
|
||||||
@@ -42,6 +46,9 @@ class PasswordEntryTest {
|
|||||||
PasswordEntry("\nextra\nusername: username\ncontent\n").username)
|
PasswordEntry("\nextra\nusername: username\ncontent\n").username)
|
||||||
assertEquals(
|
assertEquals(
|
||||||
"username", PasswordEntry("\nUSERNaMe: username\ncontent\n").username)
|
"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)
|
assertEquals("username", PasswordEntry("\nLOGiN:username").username)
|
||||||
assertNull(PasswordEntry("secret\nextra\ncontent\n").username)
|
assertNull(PasswordEntry("secret\nextra\ncontent\n").username)
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,8 @@
|
|||||||
package com.zeapo.pwdstore
|
package com.zeapo.pwdstore
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import androidx.annotation.VisibleForTesting
|
||||||
|
import androidx.annotation.VisibleForTesting.PRIVATE
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
import java.io.UnsupportedEncodingException
|
import java.io.UnsupportedEncodingException
|
||||||
|
|
||||||
@@ -162,7 +164,16 @@ class PasswordEntry(private val content: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@VisibleForTesting(otherwise = PRIVATE)
|
||||||
private val USERNAME_FIELDS = arrayOf("login:", "username:")
|
val USERNAME_FIELDS = arrayOf(
|
||||||
|
"login:",
|
||||||
|
"username:",
|
||||||
|
"account:",
|
||||||
|
"email:",
|
||||||
|
"name:",
|
||||||
|
"handle:",
|
||||||
|
"id:",
|
||||||
|
"identity:"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user