test(voicewake): cover trigger matching for runtime listener
This commit is contained in:
@@ -142,4 +142,10 @@ actor VoiceWakeRuntime {
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
static func _testMatches(text: String, triggers: [String]) -> Bool {
|
||||||
|
Self.matches(text: text, triggers: triggers)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
20
apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift
Normal file
20
apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import Testing
|
||||||
|
@testable import Clawdis
|
||||||
|
|
||||||
|
@Suite struct VoiceWakeRuntimeTests {
|
||||||
|
@Test func matchesIsCaseInsensitive() {
|
||||||
|
let triggers = ["ClAwD", "buddy"]
|
||||||
|
#expect(VoiceWakeRuntime._testMatches(text: "hey clawd are you there", triggers: triggers))
|
||||||
|
#expect(!VoiceWakeRuntime._testMatches(text: "nothing to see", triggers: triggers))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test func matchesIgnoresWhitespace() {
|
||||||
|
let triggers = [" claude "]
|
||||||
|
#expect(VoiceWakeRuntime._testMatches(text: "hello claude!", triggers: triggers))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test func matchesSkipsEmptyTriggers() {
|
||||||
|
let triggers = [" ", ""]
|
||||||
|
#expect(!VoiceWakeRuntime._testMatches(text: "hello", triggers: triggers))
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user