test: cover trigger trimming for voice wake

This commit is contained in:
Peter Steinberger
2025-12-08 16:36:53 +01:00
parent 563701fed8
commit 912a7a1781
2 changed files with 24 additions and 0 deletions

View File

@@ -288,6 +288,12 @@ actor VoiceWakeRuntime {
return text
}
#if DEBUG
static func _testTrimmedAfterTrigger(_ text: String, triggers: [String]) -> String {
self.trimmedAfterTrigger(text, triggers: triggers)
}
#endif
#if DEBUG
static func _testMatches(text: String, triggers: [String]) -> Bool {
self.matches(text: text, triggers: triggers)

View File

@@ -17,4 +17,22 @@ import Testing
let triggers = [" ", ""]
#expect(!VoiceWakeRuntime._testMatches(text: "hello", triggers: triggers))
}
@Test func trimsAfterTriggerKeepsPostSpeech() {
let triggers = ["claude", "clawd"]
let text = "hey Claude how are you"
#expect(VoiceWakeRuntime._testTrimmedAfterTrigger(text, triggers: triggers) == "how are you")
}
@Test func trimsAfterTriggerReturnsOriginalWhenNoTrigger() {
let triggers = ["claude"]
let text = "good morning friend"
#expect(VoiceWakeRuntime._testTrimmedAfterTrigger(text, triggers: triggers) == text)
}
@Test func trimsAfterFirstMatchingTrigger() {
let triggers = ["buddy", "claude"]
let text = "hello buddy this is after trigger claude also here"
#expect(VoiceWakeRuntime._testTrimmedAfterTrigger(text, triggers: triggers) == "this is after trigger claude also here")
}
}