diff --git a/pass/Controllers/CommitLogsTableViewController.swift b/pass/Controllers/CommitLogsTableViewController.swift index 931213e..1bcbc7b 100644 --- a/pass/Controllers/CommitLogsTableViewController.swift +++ b/pass/Controllers/CommitLogsTableViewController.swift @@ -38,7 +38,7 @@ class CommitLogsTableViewController: UITableViewController { let messageLabel = cell.contentView.viewWithTag(202) as? UILabel author?.text = commits[indexPath.row].author?.name dateLabel?.text = dateString - messageLabel?.text = commits[indexPath.row].message?.trimmingCharacters(in: .whitespacesAndNewlines) + messageLabel?.text = commits[indexPath.row].message?.trimmed return cell } diff --git a/pass/Controllers/PasswordEditorTableViewController.swift b/pass/Controllers/PasswordEditorTableViewController.swift index 51067d4..3611de7 100644 --- a/pass/Controllers/PasswordEditorTableViewController.swift +++ b/pass/Controllers/PasswordEditorTableViewController.swift @@ -230,7 +230,7 @@ class PasswordEditorTableViewController: UITableViewController, FillPasswordTabl func insertScannedOTPFields(_ otpauth: String) { // update tableData var additionsString = "" - if let additionsPlainText = (tableData[additionsSection][0][PasswordEditorCellKey.content] as? String)?.trimmingCharacters(in: .whitespacesAndNewlines), additionsPlainText != "" { + if let additionsPlainText = (tableData[additionsSection][0][PasswordEditorCellKey.content] as? String)?.trimmed, additionsPlainText != "" { additionsString = additionsPlainText + "\n" + otpauth } else { additionsString = otpauth diff --git a/passKit/Helpers/StringExtension.swift b/passKit/Helpers/StringExtension.swift index bd068b3..f083bc4 100644 --- a/passKit/Helpers/StringExtension.swift +++ b/passKit/Helpers/StringExtension.swift @@ -9,6 +9,11 @@ import Foundation public extension String { + + var trimmed: String { + return trimmingCharacters(in: .whitespacesAndNewlines) + } + func stringByAddingPercentEncodingForRFC3986() -> String? { let unreserved = "-._~/?" var allowed = CharacterSet.alphanumerics diff --git a/passKit/Parser/Parser.swift b/passKit/Parser/Parser.swift index aba3f3b..11624ad 100644 --- a/passKit/Parser/Parser.swift +++ b/passKit/Parser/Parser.swift @@ -64,7 +64,7 @@ class Parser { result.append(Constants.getSeparator(breakingLines: !removingLineBreaks)) i += 1 } - return result.trimmingCharacters(in: .whitespacesAndNewlines) + return result.trimmed } /// Split line from password file in to a key-value pair separted by `: `. diff --git a/passKitTests/Helpers/StringExtensionTest.swift b/passKitTests/Helpers/StringExtensionTest.swift index c7204bb..324df99 100644 --- a/passKitTests/Helpers/StringExtensionTest.swift +++ b/passKitTests/Helpers/StringExtensionTest.swift @@ -12,6 +12,16 @@ import XCTest class StringExtensionTest: XCTestCase { + func testTrimmed() { + [ + (" ", ""), + (" \n\t\r", ""), + ("\t a \n b \t c \r d \n ", "a \n b \t c \r d"), + ].forEach { untrimmed, trimmed in + XCTAssertEqual(untrimmed.trimmed, trimmed) + } + } + func testStringByAddingPercentEncodingForRFC3986() { [ ("!#$&'()*+,/:;=?@[]^", "%21%23%24%26%27%28%29%2A%2B%2C/%3A%3B%3D?%40%5B%5D%5E"),