Files
callstack__agent-device/scripts/ios-ax-bridge-spike/adapter.test.ts
T
Michał Pierzchała 3f0a4c7a89 perf(ios): reject public AX and reopen guest bridge evaluation (#2209)
* perf(ios): add bounded Simulator AX bridge spike

* fix(ios): use snapshot planning subpath in AX spike

* docs(ios): record AX bridge spike NO-GO evidence

* docs(ios): add fixture stop diagnostics

* docs(ios): refresh prerequisite provenance

* docs(ios): record current prerequisite head

* docs(ios): record current prerequisite head

* ci: refresh exact-head pull request checks

* fix(ios-ax-bridge): preserve raw control node types

* docs(ios): refresh prerequisite provenance

* docs(ios): refresh prerequisite provenance

* fix: make iOS AX spike evidence executable

* fix: scope Simulator AX evidence to device content

* perf: compact AX spike evidence payloads

* perf: keep AX spike reports compact

* fix: keep AX evidence claims literal

* docs: replace blocked AX spike with live evidence

* chore: preserve raw AX evidence format

* fix: make simulator AX spike evidence decisive

* docs: record clean simulator AX spike run

* fix: close AX spike measurement gaps

* fix: initialize preference evidence owner

* fix: distinguish transient AX probe readiness

* docs: refresh review-corrected AX evidence

* fix: preserve preference failure evidence

* fix: close final AX evidence edge cases

* docs: publish final simulator AX decision evidence

* fix(ios): keep AX spike out of npm package

* docs(ios): correct AX bridge viability verdict
2026-09-01 21:39:29 +02:00

46 lines
1.3 KiB
TypeScript

import assert from 'node:assert/strict';
import fs from 'node:fs';
import { test } from 'vitest';
import { defaultPublicMacOsAxHelperPath, readControlSnapshot } from './adapter.ts';
test('public AX adapter resolves the SwiftPM release product', () => {
assert.equal(
defaultPublicMacOsAxHelperPath('/repo'),
'/repo/scripts/ios-ax-bridge-spike/swift/.build/release/agent-device-ios-ax-bridge-spike',
);
});
test('spike executable stays outside the distributed macOS helper package', () => {
const manifest = fs.readFileSync(
new URL('../../apple/macos-helper/Package.swift', import.meta.url),
'utf8',
);
assert.doesNotMatch(manifest, /AgentDeviceIosAxBridgeSpike|agent-device-ios-ax-bridge-spike/);
});
test('control mapping preserves the producer raw node type', () => {
const result = readControlSnapshot({
data: {
results: [
{
data: {
snapshot: {
nodes: [
{
index: 7,
type: 'XCUIElementTypeButton',
role: 'AXButton',
},
],
},
},
},
],
},
});
assert.equal(result?.nodes[0]?.type, 'XCUIElementTypeButton');
assert.equal(result?.nodes[0]?.role, 'AXButton');
});