Files
bot/apps/macos/Tests/BotIPCTests/AnyCodableEncodingTests.swift
zeekay 08582cc303 Rebrand OpenClaw → Hanzo Bot across entire codebase
Complete rename of all OpenClaw/OPENCLAW/openclaw references to
Hanzo Bot/BOT/bot naming convention:

- Env vars: OPENCLAW_* → BOT_* (18 patterns)
- Config: ~/.openclaw/ → ~/.bot/, openclaw.json → bot.json
- Packages: @openclaw/* → @hanzo/bot-*
- Domains: openclaw.ai → hanzo.bot
- Mobile: OpenClawKit → BotKit, bundle IDs ai.openclaw → ai.hanzo.bot
- mDNS: _openclaw-gw._tcp → _bot-gw._tcp
- Docker: CMD hanzo-bot.mjs, BOT_PREFER_PNPM, BOT_DOCKER_APT_PACKAGES
- CI: docker-release.yml adds :latest tag on main branch
2026-02-11 11:13:08 -08:00

39 lines
1.3 KiB
Swift

import HanzoBotProtocol
import Foundation
import Testing
@testable import HanzoBot
@Suite struct AnyCodableEncodingTests {
@Test func encodesSwiftArrayAndDictionaryValues() throws {
let payload: [String: Any] = [
"tags": ["node", "ios"],
"meta": ["count": 2],
"null": NSNull(),
]
let data = try JSONEncoder().encode(HanzoBotProtocol.AnyCodable(payload))
let obj = try #require(JSONSerialization.jsonObject(with: data) as? [String: Any])
#expect(obj["tags"] as? [String] == ["node", "ios"])
#expect((obj["meta"] as? [String: Any])?["count"] as? Int == 2)
#expect(obj["null"] is NSNull)
}
@Test func protocolAnyCodableEncodesPrimitiveArrays() throws {
let payload: [String: Any] = [
"items": [1, "two", NSNull(), ["ok": true]],
]
let data = try JSONEncoder().encode(HanzoBotProtocol.AnyCodable(payload))
let obj = try #require(JSONSerialization.jsonObject(with: data) as? [String: Any])
let items = try #require(obj["items"] as? [Any])
#expect(items.count == 4)
#expect(items[0] as? Int == 1)
#expect(items[1] as? String == "two")
#expect(items[2] is NSNull)
#expect((items[3] as? [String: Any])?["ok"] as? Bool == true)
}
}