27 lines
1.1 KiB
Swift
27 lines
1.1 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import Clawdbot
|
|
|
|
@Suite struct VoiceWakePreferencesTests {
|
|
@Test func sanitizeTriggerWordsTrimsAndDropsEmpty() {
|
|
#expect(VoiceWakePreferences.sanitizeTriggerWords([" clawd ", "", " \nclaude\t"]) == ["clawd", "claude"])
|
|
}
|
|
|
|
@Test func sanitizeTriggerWordsFallsBackToDefaultsWhenEmpty() {
|
|
#expect(VoiceWakePreferences.sanitizeTriggerWords(["", " "]) == VoiceWakePreferences.defaultTriggerWords)
|
|
}
|
|
|
|
@Test func displayStringUsesSanitizedWords() {
|
|
#expect(VoiceWakePreferences.displayString(for: ["", " "]) == "clawd, claude")
|
|
}
|
|
|
|
@Test func loadAndSaveTriggerWordsRoundTrip() {
|
|
let suiteName = "VoiceWakePreferencesTests.\(UUID().uuidString)"
|
|
let defaults = UserDefaults(suiteName: suiteName)!
|
|
|
|
#expect(VoiceWakePreferences.loadTriggerWords(defaults: defaults) == VoiceWakePreferences.defaultTriggerWords)
|
|
VoiceWakePreferences.saveTriggerWords(["computer"], defaults: defaults)
|
|
#expect(VoiceWakePreferences.loadTriggerWords(defaults: defaults) == ["computer"])
|
|
}
|
|
}
|