mirror of
https://github.com/hanzoai/bot.git
synced 2026-11-01 07:38:30 +00:00
Automated rebrand of all openclaw references to hanzo bot: - Package: openclaw -> @hanzo/bot - Binary: openclaw -> hanzo-bot - Config: ~/.openclaw -> ~/.hanzo/bot - Docker: ghcr.io/hanzoai/bot - Env vars: OPENCLAW_* -> BOT_* - Bundle IDs: ai.hanzo.bot.* - Product name: Hanzo Bot
39 lines
1.6 KiB
Swift
39 lines
1.6 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import Hanzo Bot
|
|
|
|
@Suite struct VoiceWakePreferencesTests {
|
|
@Test func sanitizeTriggerWordsTrimsAndDropsEmpty() {
|
|
#expect(VoiceWakePreferences.sanitizeTriggerWords([" hanzo-bot ", "", " \nclaude\t"]) == ["@hanzo/bot", "claude"])
|
|
}
|
|
|
|
@Test func sanitizeTriggerWordsFallsBackToDefaultsWhenEmpty() {
|
|
#expect(VoiceWakePreferences.sanitizeTriggerWords(["", " "]) == VoiceWakePreferences.defaultTriggerWords)
|
|
}
|
|
|
|
@Test func sanitizeTriggerWordsLimitsWordLength() {
|
|
let long = String(repeating: "x", count: VoiceWakePreferences.maxWordLength + 5)
|
|
let cleaned = VoiceWakePreferences.sanitizeTriggerWords(["ok", long])
|
|
#expect(cleaned[1].count == VoiceWakePreferences.maxWordLength)
|
|
}
|
|
|
|
@Test func sanitizeTriggerWordsLimitsWordCount() {
|
|
let words = (1...VoiceWakePreferences.maxWords + 3).map { "w\($0)" }
|
|
let cleaned = VoiceWakePreferences.sanitizeTriggerWords(words)
|
|
#expect(cleaned.count == VoiceWakePreferences.maxWords)
|
|
}
|
|
|
|
@Test func displayStringUsesSanitizedWords() {
|
|
#expect(VoiceWakePreferences.displayString(for: ["", " "]) == "openclaw, 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"])
|
|
}
|
|
}
|