diff --git a/pass/Controllers/PasswordDetailTableViewController.swift b/pass/Controllers/PasswordDetailTableViewController.swift index 90fdf8a..804c614 100644 --- a/pass/Controllers/PasswordDetailTableViewController.swift +++ b/pass/Controllers/PasswordDetailTableViewController.swift @@ -250,6 +250,9 @@ class PasswordDetailTableViewController: UITableViewController, UIGestureRecogni if let username = password.username { section.item.append(Constants.USERNAME_KEYWORD => username) } + if let user = password.username { + section.item.append(Constants.USER_KEYWORD => user) + } if let login = password.login { section.item.append(Constants.LOGIN_KEYWORD => login) } diff --git a/passKit/Models/Password.swift b/passKit/Models/Password.swift index 9a2b03f..a9dab8c 100644 --- a/passKit/Models/Password.swift +++ b/passKit/Models/Password.swift @@ -51,6 +51,10 @@ public class Password { getAdditionValue(withKey: Constants.USERNAME_KEYWORD) } + public var user: String? { + getAdditionValue(withKey: Constants.USER_KEYWORD) + } + public var login: String? { getAdditionValue(withKey: Constants.LOGIN_KEYWORD) } @@ -121,6 +125,7 @@ public class Password { additions.filter { field in let title = field.title.lowercased() return title != Constants.USERNAME_KEYWORD + && title != Constants.USER_KEYWORD && title != Constants.LOGIN_KEYWORD && title != Constants.PASSWORD_KEYWORD && (!Constants.isUnknown(title) || !Defaults.isHideUnknownOn) @@ -215,6 +220,6 @@ public class Password { } public func getUsernameForCompletion() -> String { - username ?? login ?? nameFromPath ?? "" + username ?? user ?? login ?? nameFromPath ?? "" } } diff --git a/passKit/Parser/Constants.swift b/passKit/Parser/Constants.swift index 81f8bff..42d99dd 100644 --- a/passKit/Parser/Constants.swift +++ b/passKit/Parser/Constants.swift @@ -48,6 +48,7 @@ public enum Constants { public static let PASSWORD_KEYWORD = "password" public static let USERNAME_KEYWORD = "username" + public static let USER_KEYWORD = "user" public static let LOGIN_KEYWORD = "login" public static let URL_KEYWORD = "url" public static let UNKNOWN = "unknown" diff --git a/passKitTests/Models/PasswordTest.swift b/passKitTests/Models/PasswordTest.swift index dddc582..6ee05a0 100644 --- a/passKitTests/Models/PasswordTest.swift +++ b/passKitTests/Models/PasswordTest.swift @@ -32,6 +32,7 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.numberOfUnknowns, 0) XCTAssertNil(password.username) + XCTAssertNil(password.user) XCTAssertNil(password.urlString) XCTAssertNil(password.login) @@ -53,7 +54,7 @@ class PasswordTest: XCTestCase { } func testSimplePasswordFile() { - let additions = SECURE_URL_FIELD | LOGIN_FIELD | USERNAME_FIELD | NOTE_FIELD + let additions = SECURE_URL_FIELD | LOGIN_FIELD | USERNAME_FIELD | USER_FIELD | NOTE_FIELD let fileContent = PASSWORD_STRING | additions let password = getPasswordObjectWith(content: fileContent) @@ -62,11 +63,13 @@ class PasswordTest: XCTestCase { XCTAssert(SECURE_URL_FIELD ∈ password) XCTAssert(LOGIN_FIELD ∉ password) XCTAssert(USERNAME_FIELD ∉ password) + XCTAssert(USER_FIELD ∉ password) XCTAssert(NOTE_FIELD ∈ password) XCTAssertEqual(password.urlString, SECURE_URL_FIELD.content) XCTAssertEqual(password.login, LOGIN_FIELD.content) XCTAssertEqual(password.username, USERNAME_FIELD.content) + XCTAssertEqual(password.user, USER_FIELD.content) } func testTwoPasswords() { diff --git a/passKitTests/Testbase/TestBase.swift b/passKitTests/Testbase/TestBase.swift index 5c816cb..cae542d 100644 --- a/passKitTests/Testbase/TestBase.swift +++ b/passKitTests/Testbase/TestBase.swift @@ -22,6 +22,7 @@ let SECURE_URL_FIELD = "url" => "https://secure.com" let INSECURE_URL_FIELD = "url" => "http://insecure.com" let LOGIN_FIELD = "login" => "login name" let USERNAME_FIELD = "username" => "微 分 方 程" +let USER_FIELD = "user" => "积 分 方 程" let NOTE_FIELD = "note" => "A NOTE" let HINT_FIELD = "some hints" => "äöüß // €³ %% −° && @²` | [{\\}],.<>" let TOTP_URL_FIELD = "otpauth" => "//totp/email@email.com?secret=abcd1234"