mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-26 12:26:38 -06:00
ae55a4090c
* refactor(canvas): retire legacy host and commands * refactor(apple): narrow shared Canvas contracts * refactor(macos): keep Canvas as widget presenter * refactor(ios): remove Canvas client * refactor(android): remove Canvas client * refactor(linux): remove Canvas client * fix(ci): isolate native locale artifacts * fix(linux): regenerate companion lockfile * fix(canvas): refresh native tool display metadata * test(canvas): align coverage with presenter surface * test(canvas): remove obsolete asset root seam * test(canvas): stabilize retirement CI coverage * refactor(swift): remove orphaned resource wrapper * test(ios): remove retired canvas layout assertion * fix(macos): reserve retired canvas command namespace * refactor(macos): isolate canvas command policy * fix(canvas): select only eligible macOS panels * fix(canvas): keep panel selection plugin-owned
30 lines
1.2 KiB
Swift
30 lines
1.2 KiB
Swift
import Foundation
|
|
import OpenClawKit
|
|
import Testing
|
|
|
|
struct CanvasCommandsTests {
|
|
@Test func `presenter command strings are stable`() {
|
|
#expect(OpenClawCanvasCommand.present.rawValue == "canvas.present")
|
|
#expect(OpenClawCanvasCommand.hide.rawValue == "canvas.hide")
|
|
#expect(OpenClawCanvasCommand.navigate.rawValue == "canvas.navigate")
|
|
}
|
|
|
|
@Test func `presenter params decode shipped wire shapes`() throws {
|
|
let presentData = try #require(
|
|
"""
|
|
{"url":"openclaw-canvas://widget.html","placement":{"x":1,"y":2,"width":3,"height":4}}
|
|
""".data(using: .utf8))
|
|
let present = try JSONDecoder().decode(OpenClawCanvasPresentParams.self, from: presentData)
|
|
#expect(present.url == "openclaw-canvas://widget.html")
|
|
#expect(present.placement?.x == 1)
|
|
#expect(present.placement?.y == 2)
|
|
#expect(present.placement?.width == 3)
|
|
#expect(present.placement?.height == 4)
|
|
|
|
let navigateData = try #require(
|
|
"{\"url\":\"openclaw-canvas://next.html\"}".data(using: .utf8))
|
|
let navigate = try JSONDecoder().decode(OpenClawCanvasNavigateParams.self, from: navigateData)
|
|
#expect(navigate.url == "openclaw-canvas://next.html")
|
|
}
|
|
}
|