oclaw/openclaw/apps/shared/OpenClawKit/Tests/OpenClawKitTests/ToolResultTextFormatterTests.swift
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

54 lines
1.5 KiB
Swift

import Testing
@testable import OpenClawChatUI
@Suite("ToolResultTextFormatter")
struct ToolResultTextFormatterTests {
@Test func leavesPlainTextUntouched() {
let result = ToolResultTextFormatter.format(text: "All good", toolName: "nodes")
#expect(result == "All good")
}
@Test func summarizesNodesListJSON() {
let json = """
{
"ts": 1771610031380,
"nodes": [
{
"displayName": "iPhone 16 Pro Max",
"connected": true,
"platform": "ios"
}
]
}
"""
let result = ToolResultTextFormatter.format(text: json, toolName: "nodes")
#expect(result.contains("1 node found."))
#expect(result.contains("iPhone 16 Pro Max"))
#expect(result.contains("connected"))
}
@Test func summarizesErrorJSONAndDropsAgentPrefix() {
let json = """
{
"status": "error",
"tool": "nodes",
"error": "agent=main node=iPhone gateway=default action=invoke: pairing required"
}
"""
let result = ToolResultTextFormatter.format(text: json, toolName: "nodes")
#expect(result == "Error: pairing required")
}
@Test func suppressesUnknownStructuredPayload() {
let json = """
{
"foo": "bar"
}
"""
let result = ToolResultTextFormatter.format(text: json, toolName: "nodes")
#expect(result.isEmpty)
}
}