Files
openclaw/apps/shared/OpenClawKit/Tests/OpenClawKitTests/CanvasCommandsTests.swift
Peter Steinberger ae55a4090c refactor(canvas): make the panel a widget presenter (#126030)
* 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
2026-08-19 08:21:07 -07:00

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")
}
}