23 lines
910 B
TypeScript
23 lines
910 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { commandIds } from "@commands/ids";
|
|
import type { Dispatch } from "@commands/dispatcher";
|
|
import { handleOperationKey } from "./operation-keybinds";
|
|
|
|
describe("operation keybinds", () => {
|
|
test.each([
|
|
["g", "generate"],
|
|
["k", "chromaKey"],
|
|
] as const)("opens the %s operation without selecting a tool", (key, panel) => {
|
|
const dispatched: unknown[] = [];
|
|
const consumed = handleOperationKey({
|
|
event: { key, code: `Key${key.toUpperCase()}`, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false },
|
|
dispatch: ((commandId: unknown, payload: unknown) => {
|
|
dispatched.push({ commandId, payload });
|
|
return undefined;
|
|
}) as unknown as Dispatch,
|
|
});
|
|
expect(consumed).toBe(true);
|
|
expect(dispatched).toEqual([{ commandId: commandIds.workspaceSetPanel, payload: { panel } }]);
|
|
});
|
|
});
|