2025-12-30 07:40:02 +01:00
|
|
|
import XCTest
|
2026-01-30 03:15:10 +01:00
|
|
|
@testable import OpenClawKit
|
2025-12-30 07:40:02 +01:00
|
|
|
|
|
|
|
|
final class TalkPromptBuilderTests: XCTestCase {
|
|
|
|
|
func testBuildIncludesTranscript() {
|
|
|
|
|
let prompt = TalkPromptBuilder.build(transcript: "Hello", interruptedAtSeconds: nil)
|
|
|
|
|
XCTAssertTrue(prompt.contains("Talk Mode active."))
|
|
|
|
|
XCTAssertTrue(prompt.hasSuffix("\n\nHello"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func testBuildIncludesInterruptionLineWhenProvided() {
|
|
|
|
|
let prompt = TalkPromptBuilder.build(transcript: "Hi", interruptedAtSeconds: 1.234)
|
|
|
|
|
XCTAssertTrue(prompt.contains("Assistant speech interrupted at 1.2s."))
|
|
|
|
|
}
|
2026-02-16 17:33:42 +00:00
|
|
|
|
|
|
|
|
func testBuildIncludesVoiceDirectiveHintByDefault() {
|
|
|
|
|
let prompt = TalkPromptBuilder.build(transcript: "Hello", interruptedAtSeconds: nil)
|
|
|
|
|
XCTAssertTrue(prompt.contains("ElevenLabs voice"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func testBuildExcludesVoiceDirectiveHintWhenDisabled() {
|
|
|
|
|
let prompt = TalkPromptBuilder.build(
|
|
|
|
|
transcript: "Hello",
|
|
|
|
|
interruptedAtSeconds: nil,
|
|
|
|
|
includeVoiceDirectiveHint: false)
|
|
|
|
|
XCTAssertFalse(prompt.contains("ElevenLabs voice"))
|
|
|
|
|
XCTAssertTrue(prompt.contains("Talk Mode active."))
|
|
|
|
|
}
|
2025-12-30 07:40:02 +01:00
|
|
|
}
|