2025-12-14 05:05:20 +00:00
|
|
|
import Foundation
|
|
|
|
|
import Testing
|
2026-01-30 03:15:10 +01:00
|
|
|
@testable import OpenClaw
|
2025-12-14 05:05:20 +00:00
|
|
|
|
|
|
|
|
@Suite struct VoiceWakeGatewaySyncTests {
|
|
|
|
|
@Test func decodeGatewayTriggersFromJSONSanitizes() {
|
2026-01-30 03:15:10 +01:00
|
|
|
let payload = #"{"triggers":[" openclaw ","", "computer"]}"#
|
2025-12-14 05:05:20 +00:00
|
|
|
let triggers = VoiceWakePreferences.decodeGatewayTriggers(from: payload)
|
2026-01-30 03:15:10 +01:00
|
|
|
#expect(triggers == ["openclaw", "computer"])
|
2025-12-14 05:05:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test func decodeGatewayTriggersFromJSONFallsBackWhenEmpty() {
|
|
|
|
|
let payload = #"{"triggers":[" ",""]}"#
|
|
|
|
|
let triggers = VoiceWakePreferences.decodeGatewayTriggers(from: payload)
|
|
|
|
|
#expect(triggers == VoiceWakePreferences.defaultTriggerWords)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test func decodeGatewayTriggersFromInvalidJSONReturnsNil() {
|
|
|
|
|
let triggers = VoiceWakePreferences.decodeGatewayTriggers(from: "not json")
|
|
|
|
|
#expect(triggers == nil)
|
|
|
|
|
}
|
|
|
|
|
}
|