Files
openclaw/apps/macos/Tests/OpenClawIPCTests/SpeechRecognitionRequestPolicyTests.swift
Peter Steinberger c84921634d fix(macos): require explicit consent for privacy-sensitive access (#112321)
* fix(macos): avoid passive Automation prompts

* fix(macos): keep Voice Wake recognition on device

* fix(macos): require consent for activity presence

* chore(apps): refresh native i18n inventory

* fix(macos): preserve presence clears across gateway versions

* fix(macos): prioritize activity privacy opt-out

* chore(apps): refresh native i18n inventory

* fix(macos): scrub legacy presence activity

* fix(macos): migrate permission status caller

* fix(macos): preserve unknown permission state

* fix(macos): refresh privacy change artifacts

* refactor(macos): remove stale presence helper

* fix(deps): patch URI and Jaeger advisories

* test(gateway): adopt pairing-bound node sessions
2026-07-21 15:28:13 -07:00

38 lines
1.3 KiB
Swift

import Speech
import Testing
@testable import OpenClaw
struct SpeechRecognitionRequestPolicyTests {
@Test func `passive Voice Wake requires on device recognition`() throws {
let request = SFSpeechAudioBufferRecognitionRequest()
try SpeechRecognitionRequestPolicy.configurePassiveVoiceWake(
request,
supportsOnDeviceRecognition: true)
#expect(request.shouldReportPartialResults)
#expect(request.taskHint == .dictation)
#expect(request.requiresOnDeviceRecognition)
}
@Test func `passive Voice Wake rejects unsupported locales`() {
let request = SFSpeechAudioBufferRecognitionRequest()
#expect(throws: SpeechRecognitionRequestPolicy.PolicyError.onDeviceRecognitionUnavailable) {
try SpeechRecognitionRequestPolicy.configurePassiveVoiceWake(
request,
supportsOnDeviceRecognition: false)
}
}
@Test func `interactive transcription permits Apple Speech services`() {
let request = SFSpeechAudioBufferRecognitionRequest()
SpeechRecognitionRequestPolicy.configureInteractiveTranscription(request)
#expect(request.shouldReportPartialResults)
#expect(request.taskHint == .dictation)
#expect(!request.requiresOnDeviceRecognition)
}
}