test(mac): cover voice wake helpers

This commit is contained in:
Peter Steinberger
2025-12-07 17:56:40 +01:00
parent df9f72134b
commit f3ebb2e9ce
5 changed files with 66 additions and 19 deletions

View File

@@ -0,0 +1,23 @@
import Testing
@testable import Clawdis
struct VoiceWakeHelpersTests {
@Test func sanitizeTriggersTrimsAndDropsEmpty() {
let cleaned = sanitizeVoiceWakeTriggers([" hi ", " ", "\n", "there"])
#expect(cleaned == ["hi", "there"])
}
@Test func sanitizeTriggersFallsBackToDefaults() {
let cleaned = sanitizeVoiceWakeTriggers([" ", ""])
#expect(cleaned == defaultVoiceWakeTriggers)
}
@Test func normalizeLocaleStripsCollation() {
#expect(normalizeLocaleIdentifier("en_US@collation=phonebook") == "en_US")
}
@Test func normalizeLocaleStripsUnicodeExtensions() {
#expect(normalizeLocaleIdentifier("de-DE-u-co-phonebk") == "de-DE")
#expect(normalizeLocaleIdentifier("ja-JP-t-ja") == "ja-JP")
}
}

View File

@@ -0,0 +1,15 @@
import Testing
@testable import Clawdis
struct VoiceWakeTesterTests {
@Test func matchesIsCaseInsensitiveAndSubstring() {
let triggers = ["Claude", "wake word"]
#expect(VoiceWakeTester._testMatches(text: "hey claude are you there", triggers: triggers))
#expect(VoiceWakeTester._testMatches(text: "this has wake word inside", triggers: triggers))
}
@Test func matchesReturnsFalseWhenNoTrigger() {
let triggers = ["claude"]
#expect(!VoiceWakeTester._testMatches(text: "random text", triggers: triggers))
}
}