fix iOS build blockers and add project scaffold
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import XCTest
|
||||
@testable import HermesApp
|
||||
|
||||
private struct TestFailure: Error, CustomStringConvertible {
|
||||
let description: String
|
||||
}
|
||||
|
||||
@MainActor
|
||||
final class LocalizationStoreTests: XCTestCase {
|
||||
func testEnglishBundleStringsLoad() throws {
|
||||
let store = LocalizationStore(localeCode: "en")
|
||||
|
||||
try expectEqual(store.string(for: "app.name"), "Hermes")
|
||||
try expectEqual(store.string(for: "settings.title"), "Settings")
|
||||
try expectEqual(store.string(for: "settings.enabled"), "Enabled")
|
||||
}
|
||||
|
||||
func testSwedishBundleStringsLoad() throws {
|
||||
let store = LocalizationStore(localeCode: "sv")
|
||||
|
||||
try expectEqual(store.string(for: "app.name"), "Hermes")
|
||||
try expectEqual(store.string(for: "settings.title"), "Inställningar")
|
||||
try expectEqual(store.string(for: "settings.enabled"), "Aktiverad")
|
||||
}
|
||||
|
||||
func testUnsupportedLocaleFallsBackToEnglish() throws {
|
||||
let store = LocalizationStore(localeCode: "fr")
|
||||
|
||||
try expectEqual(store.string(for: "settings.analytics"), "Analytics")
|
||||
try expectEqual(store.localeName(for: "sv", displayLocaleCode: "fr"), "Swedish")
|
||||
}
|
||||
|
||||
private func expectEqual(_ actual: String, _ expected: String) throws {
|
||||
guard actual == expected else {
|
||||
throw TestFailure(description: "Expected \(expected), got \(actual)")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user