mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-21 15:17:40 +00:00
feat(ios/engine): adds unit test for prior commit
This commit is contained in:
parent
571494fb07
commit
02f58bc481
2 changed files with 42 additions and 0 deletions
|
|
@ -325,4 +325,35 @@ class AssociatingPackageInstallerTests: XCTestCase {
|
|||
XCTAssertNil(Storage.active.userDefaults.userKeyboards)
|
||||
XCTAssertNil(Storage.active.userDefaults.userLexicalModels)
|
||||
}
|
||||
|
||||
func testPackageLanguageMismatch() throws {
|
||||
guard let strPackage = try ResourceFileManager.shared.prepareKMPInstall(from: TestUtils.Keyboards.fvSencotenKMP) as? KeyboardKeymanPackage else {
|
||||
XCTFail()
|
||||
return
|
||||
}
|
||||
|
||||
guard let eurolatinPackage = try ResourceFileManager.shared.prepareKMPInstall(from: TestUtils.Keyboards.silEuroLatinKMP) as? KeyboardKeymanPackage else {
|
||||
XCTFail()
|
||||
return
|
||||
}
|
||||
|
||||
let strInstaller = AssociatingPackageInstaller(for: strPackage,
|
||||
defaultLanguageCode: "str", // correct code: str-latn
|
||||
downloadManager: downloadManager) { _ in
|
||||
}
|
||||
|
||||
// Package does not contain "str", but does contain "str-latn"
|
||||
XCTAssertEqual(strInstaller.defaultLgCode, "str-latn")
|
||||
|
||||
let eurolatinInstaller = AssociatingPackageInstaller(for: eurolatinPackage,
|
||||
defaultLanguageCode: "en-fake-bcp", // correct code: "en"
|
||||
downloadManager: downloadManager) { _ in
|
||||
}
|
||||
|
||||
// Package does not contain "en-fake-bcp", but does contain "en".
|
||||
XCTAssertEqual(eurolatinInstaller.defaultLgCode, "en")
|
||||
|
||||
// Note: the current naive approach isn't exactly BCP-47 subtag aware - it relies on one tag
|
||||
// containing the entire other tag as a substring.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ extension TestUtils {
|
|||
enum Keyboards {
|
||||
static let khmerAngkorKMP = TestUtils.keyboardsBundle.url(forResource: "khmer_angkor", withExtension: "kmp")!
|
||||
static let silEuroLatinKMP = TestUtils.keyboardsBundle.url(forResource: "sil_euro_latin", withExtension: "kmp")!
|
||||
static let fvSencotenKMP = TestUtils.keyboardsBundle.url(forResource: "fv_sencoten", withExtension: "kmp")!
|
||||
|
||||
static let khmer_angkor = InstallableKeyboard(id: "khmer_angkor",
|
||||
name: "Khmer Angkor",
|
||||
|
|
@ -43,5 +44,15 @@ extension TestUtils {
|
|||
font: Font(family: "LatinWeb", source: ["DejaVuSans.ttf"], size: nil),
|
||||
oskFont: nil,
|
||||
isCustom: false)
|
||||
|
||||
static let fv_sencoten = InstallableKeyboard(id: "fv_sencoten",
|
||||
name: "SENĆOŦEN",
|
||||
languageID: "str-latn",
|
||||
languageName: "Salish, Straits (Latin)",
|
||||
version: "9.1",
|
||||
isRTL: false,
|
||||
font: nil,
|
||||
oskFont: nil,
|
||||
isCustom: false)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue