From c250f092bb98feae3c86c1a8695d044f331209d1 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 24 Dec 2025 13:54:03 +0100 Subject: [PATCH] test: cover overlay level throttling --- .../VoiceWakeOverlayControllerTests.swift | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/apps/macos/Tests/ClawdisIPCTests/VoiceWakeOverlayControllerTests.swift b/apps/macos/Tests/ClawdisIPCTests/VoiceWakeOverlayControllerTests.swift index b1afd122b..a7b75de4b 100644 --- a/apps/macos/Tests/ClawdisIPCTests/VoiceWakeOverlayControllerTests.swift +++ b/apps/macos/Tests/ClawdisIPCTests/VoiceWakeOverlayControllerTests.swift @@ -37,4 +37,27 @@ struct VoiceWakeOverlayControllerTests { #expect(VoiceWakeOverlayController.evaluateToken(active: active, incoming: active) == .accept) #expect(VoiceWakeOverlayController.evaluateToken(active: active, incoming: nil) == .accept) } + + @Test func updateLevelThrottlesRapidChanges() async { + let controller = VoiceWakeOverlayController(enableUI: false) + let token = controller.startSession( + source: .wakeWord, + transcript: "level test", + attributed: nil, + forwardEnabled: false, + isFinal: false) + + controller.updateLevel(token: token, 0.25) + let first = controller.model.level + + controller.updateLevel(token: token, 0.9) + #expect(controller.model.level == first) + + controller.updateLevel(token: token, 0) + #expect(controller.model.level == 0) + + try? await Task.sleep(nanoseconds: 120_000_000) + controller.updateLevel(token: token, 0.9) + #expect(controller.model.level == 0.9) + } }