From e8afd251edc240424ae300d22a874ae2f86c646a Mon Sep 17 00:00:00 2001 From: Danny Moesch Date: Sat, 26 Jan 2019 16:26:53 +0100 Subject: [PATCH] Make 'isUnknown' method more precise --- passKit/Parser/Constants.swift | 3 ++- passKitTests/Parser/ConstantsTest.swift | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/passKit/Parser/Constants.swift b/passKit/Parser/Constants.swift index c5835f2..c10f4f6 100644 --- a/passKit/Parser/Constants.swift +++ b/passKit/Parser/Constants.swift @@ -58,7 +58,8 @@ public struct Constants { } static func isUnknown(_ string: String) -> Bool { - return string.starts(with: UNKNOWN) + let components = string.components(separatedBy: " ") + return components.count == 2 && components[0] == UNKNOWN && UInt(components[1]) != nil } static func unknown(_ number: UInt) -> String { diff --git a/passKitTests/Parser/ConstantsTest.swift b/passKitTests/Parser/ConstantsTest.swift index 711ee80..1ff1771 100644 --- a/passKitTests/Parser/ConstantsTest.swift +++ b/passKitTests/Parser/ConstantsTest.swift @@ -27,10 +27,13 @@ class ConstantsTest: XCTestCase { } func testIsUnknown() { - XCTAssert(Constants.isUnknown("unknown")) - XCTAssert(Constants.isUnknown("unknown string")) + XCTAssert(Constants.isUnknown("unknown 1")) + XCTAssert(Constants.isUnknown("unknown 435")) XCTAssertFalse(Constants.isUnknown("otp")) - XCTAssertFalse(Constants.isUnknown("Unknown")) + XCTAssertFalse(Constants.isUnknown("unknown ")) + XCTAssertFalse(Constants.isUnknown("unknown something")) + XCTAssertFalse(Constants.isUnknown("unknown 123 something")) + XCTAssertFalse(Constants.isUnknown("Unknown 1")) } func testUnknown() {