From 912a7a17816a6a282b3f654075c853164c3af90f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 8 Dec 2025 16:36:53 +0100 Subject: [PATCH] test: cover trigger trimming for voice wake --- .../Sources/Clawdis/VoiceWakeRuntime.swift | 6 ++++++ .../VoiceWakeRuntimeTests.swift | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift index fe1bfe0a5..cc8314f78 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift @@ -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) diff --git a/apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift b/apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift index 4461d18bd..39385bd1b 100644 --- a/apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift +++ b/apps/macos/Tests/ClawdisIPCTests/VoiceWakeRuntimeTests.swift @@ -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") + } }