Make the raw phone number parsing method private

This commit is contained in:
Max Radermacher 2024-12-10 16:32:01 -06:00 committed by GitHub
parent 49ba70f32b
commit 6fa84d3f2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 67 deletions

View File

@ -4,7 +4,7 @@
//
import Foundation
public import libPhoneNumber_iOS
import libPhoneNumber_iOS
// MARK: -
@ -186,7 +186,7 @@ extension PhoneNumberUtil {
try nbPhoneNumberUtil.format(phoneNumber, numberFormat: numberFormat)
}
public func parse(_ numberToParse: String, defaultRegion: String) throws -> NBPhoneNumber {
private func parse(_ numberToParse: String, defaultRegion: String) throws -> NBPhoneNumber {
let hashKey = "numberToParse:\(numberToParse), defaultRegion:\(defaultRegion)"
if let cachedValue = parsedPhoneNumberCache[hashKey] {
return cachedValue

View File

@ -52,71 +52,6 @@ class PhoneNumberUtilTestSwift: XCTestCase {
XCTAssertEqual([], countryCodes(fromCallingCode: " +1"))
}
func test_parse() {
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "US").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "GB").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "UY").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+441752395464", defaultRegion: "US").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+441752395464", defaultRegion: "GB").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+441752395464", defaultRegion: "UY").countryCode)
// Invalid regions.
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "UK").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+441752395464", defaultRegion: "UK").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "ZQ").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "99").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: "+").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+13334445555", defaultRegion: " ").countryCode)
// Invalid phone numbers.
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("+1333444555", defaultRegion: "UY").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+44175239546", defaultRegion: "UY").countryCode)
XCTAssertEqual(NSNumber(value: 44), try! phoneNumberUtilRef.parse("+441752395468 ", defaultRegion: "UY").countryCode)
XCTAssertEqual(NSNumber(value: 1), try! phoneNumberUtilRef.parse("++13334445555 ", defaultRegion: "UY").countryCode)
do {
_ = try phoneNumberUtilRef.parse("+9764", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse("", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse(" ", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse("a", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse("+", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse("9876543210987654321098765432109876543210", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
do {
_ = try phoneNumberUtilRef.parse("+9876543210987654321098765432109876543210", defaultRegion: "US")
XCTFail("Missing expected error.")
} catch {
// Error is expected.
}
}
func test_examplePhoneNumberForCountryCode() {
XCTAssertEqual("+12015550123", phoneNumberUtilRef.examplePhoneNumber(forCountryCode: "US"))
XCTAssertEqual("+447400123456", phoneNumberUtilRef.examplePhoneNumber(forCountryCode: "GB"))