From 025a4e71a7e21097f5012d208ca2c9523e8a4178 Mon Sep 17 00:00:00 2001 From: patrick-zippenfenig Date: Sat, 6 Aug 2022 20:59:49 +0200 Subject: [PATCH] error handling --- Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift | 8 ++------ .../SwiftTimeZoneLookupTests.swift | 2 ++ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift b/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift index c23669f..9fcf075 100644 --- a/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift +++ b/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift @@ -13,21 +13,17 @@ public final class SwiftTimeZoneLookup { guard let timezone21 = Bundle.module.url(forResource: "timezone21", withExtension: "bin") else { throw SwiftTimeZoneLookupError.couldNotFindTimezone21bin } - guard let database = timezone21.withUnsafeFileSystemRepresentation({ timezone21 in ZDOpenDatabase(timezone21) }) else { throw SwiftTimeZoneLookupError.couldNotOpenDatabase } self.database = database - - - print(timezone21) } - public func lookup(latitude: Float, longitude: Float) -> String { + public func lookup(latitude: Float, longitude: Float) -> String? { guard let cTimezone = ZDHelperSimpleLookupString(database, latitude, longitude) else { - fatalError() + return nil } let timezone = String(cString: cTimezone) ZDHelperSimpleLookupStringFree(cTimezone) diff --git a/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift b/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift index 3c4394a..dcc6594 100644 --- a/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift +++ b/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift @@ -8,5 +8,7 @@ final class SwiftTimeZoneLookupTests: XCTestCase { XCTAssertEqual(database.lookup(latitude: 47.5, longitude: -2.6), "Europe/Paris") XCTAssertEqual(database.lookup(latitude: 47.5, longitude: -8.6), "Etc/GMT+1") XCTAssertEqual(database.lookup(latitude: 42.5, longitude: -8.6), "Europe/Madrid") + + XCTAssertEqual(database.lookup(latitude: 242.5, longitude: -8.6), nil) } }