feat: complete WorkBuddy parity and Windows release workflow

This commit is contained in:
xiaohan.yuan committed 2026-10-18 12:45:21 +08:00
1 parent 143516b3a8
commit d5512df549
434 files changed
+54977 -1854

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
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')