forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAssistantSettingsLanguageTests.swift
More file actions
63 lines (51 loc) · 2.53 KB
/
Copy pathAssistantSettingsLanguageTests.swift
File metadata and controls
63 lines (51 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import XCTest
@testable import Omi_Computer
@MainActor
final class AssistantSettingsLanguageTests: XCTestCase {
private let languageKey = "transcriptionLanguage"
private let autoDetectKey = "transcriptionAutoDetect"
override func setUp() {
super.setUp()
UserDefaults.standard.removeObject(forKey: languageKey)
UserDefaults.standard.removeObject(forKey: autoDetectKey)
}
override func tearDown() {
UserDefaults.standard.removeObject(forKey: languageKey)
UserDefaults.standard.removeObject(forKey: autoDetectKey)
super.tearDown()
}
func testNormalizesChineseAliasesToDeepgramCode() {
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("chinese"), "zh-CN")
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("zh"), "zh-CN")
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("zh_Hans"), "zh-CN")
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("中文"), "zh-CN")
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("zh-Hant"), "zh-TW")
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("粤语"), "zh-HK")
}
func testPersistedAliasIsNormalizedAndWrittenBackOnRead() {
UserDefaults.standard.set("chinese", forKey: languageKey)
XCTAssertEqual(AssistantSettings.shared.transcriptionLanguage, "zh-CN")
XCTAssertEqual(UserDefaults.standard.string(forKey: languageKey), "zh-CN")
}
func testChineseDoesNotUseAutoDetectMultiLanguageMode() {
AssistantSettings.shared.transcriptionLanguage = "chinese"
AssistantSettings.shared.transcriptionAutoDetect = true
XCTAssertEqual(AssistantSettings.shared.effectiveTranscriptionLanguage, "zh-CN")
XCTAssertFalse(AssistantSettings.supportsAutoDetect("chinese"))
}
func testBrazilianPortugueseAliasIsSupported() {
XCTAssertEqual(AssistantSettings.normalizeTranscriptionLanguageCode("br"), "pt-BR")
XCTAssertEqual(AssistantSettings.shared.transcriptionLanguage, "en")
XCTAssertTrue(AssistantSettings.supportsAutoDetect("br"))
}
func testDesktopLanguagePickerIncludesBackendSupportedLanguages() {
let languageCodes = Set(AssistantSettings.supportedLanguages.map(\.code))
XCTAssertTrue(languageCodes.contains("zh-CN"))
XCTAssertTrue(languageCodes.contains("zh-HK"))
XCTAssertTrue(languageCodes.contains("zh-TW"))
XCTAssertTrue(languageCodes.contains("ar"))
XCTAssertTrue(languageCodes.contains("bn"))
XCTAssertTrue(languageCodes.contains("ta"))
XCTAssertTrue(languageCodes.contains("ur"))
}
}