PasswordEntry: add more potential fields for username (#764)

This commit is contained in:
Harsh Shandilya
2020-05-06 01:58:05 +05:30
committed by GitHub
parent f99a14d95b
commit feab56994d
2 changed files with 20 additions and 2 deletions

View File

@@ -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)
}

View File

@@ -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:"
)
}
}