chore: rename project to clawdbot
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import ClawdbotProtocol
|
||||
import Foundation
|
||||
import Testing
|
||||
|
||||
@testable import Clawdbot
|
||||
|
||||
@Suite struct AnyCodableEncodingTests {
|
||||
@Test func encodesSwiftArrayAndDictionaryValues() throws {
|
||||
let payload: [String: Any] = [
|
||||
"tags": ["node", "ios"],
|
||||
"meta": ["count": 2],
|
||||
"null": NSNull(),
|
||||
]
|
||||
|
||||
let data = try JSONEncoder().encode(Clawdbot.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(ClawdbotProtocol.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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user