Some checks failed
build-packages / dedupe push run (push) Has been cancelled
build-packages / dedupe result (push) Has been cancelled
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / ${{ needs.dedupe.outputs.skip_heavy_ci == 'true' && 'deduped build-linux-x64' || 'build-linux-x64' }} (push) Has been cancelled
build-packages / ${{ needs.dedupe.outputs.skip_heavy_ci == 'true' && 'deduped build-linux-arm64' || 'build-linux-arm64' }} (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
* feat(shortcuts): add resolveSidePanelToggleIntent pure resolver * feat(shortcuts): Ctrl+W closes the tab directly (drop side-panel priority) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(shortcuts): register toggle-side-panel binding (default ⌘/Ctrl+\) * feat(shortcuts): add side-panel toggle handler + last-panel memory in TerminalLayer * feat(shortcuts): dispatch toggleSidePanel hotkey to TerminalLayer --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
808 B
TypeScript
20 lines
808 B
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import { resolveSidePanelToggleIntent } from "./resolveSidePanelToggleIntent.ts";
|
|
|
|
test("open: closed with a remembered tab → open that tab", () => {
|
|
const r = resolveSidePanelToggleIntent({ isOpen: false, lastTab: "sftp", fallbackTab: "scripts" });
|
|
assert.deepEqual(r, { kind: "open", tab: "sftp" });
|
|
});
|
|
|
|
test("open: closed with no memory → open the fallback tab", () => {
|
|
const r = resolveSidePanelToggleIntent({ isOpen: false, lastTab: null, fallbackTab: "scripts" });
|
|
assert.deepEqual(r, { kind: "open", tab: "scripts" });
|
|
});
|
|
|
|
test("close: already open → close", () => {
|
|
const r = resolveSidePanelToggleIntent({ isOpen: true, lastTab: "theme", fallbackTab: "sftp" });
|
|
assert.deepEqual(r, { kind: "close" });
|
|
});
|