import assert from 'node:assert/strict' import { resolveWorkbenchEscapeAction } from '../src/renderer/src/workbuddy/workbench/escape-action' assert.equal(resolveWorkbenchEscapeAction({ key: 'Escape', isComposing: true, menuOpen: false, fullscreen: true }), 'none', 'IME composition must keep Escape inside the editor') assert.equal(resolveWorkbenchEscapeAction({ key: 'Escape', isComposing: false, menuOpen: true, fullscreen: true }), 'close-menu', 'an open workbench popup consumes Escape before fullscreen handling') assert.equal(resolveWorkbenchEscapeAction({ key: 'Escape', isComposing: false, menuOpen: false, fullscreen: true }), 'exit-fullscreen', 'fullscreen workbench Escape exits fullscreen') assert.equal(resolveWorkbenchEscapeAction({ key: 'Escape', isComposing: false, menuOpen: false, fullscreen: false }), 'none', 'normal Escape remains available to the application generation shortcut') assert.equal(resolveWorkbenchEscapeAction({ key: 'Enter', isComposing: false, menuOpen: true, fullscreen: true }), 'none', 'non-Escape keys are not consumed by fullscreen handling') console.log('workbench-escape-regression: all checks passed')