aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/tests/shortcuts.test.tsx
diff options
context:
space:
mode:
authorkj_sh6042026-03-15 16:19:35 -0400
committerkj_sh6042026-03-15 16:19:35 -0400
commit6ec259a0e71174651bae95d4628138bf6fd68742 (patch)
tree5e33c6a5ec091ecabfcb257fdc7b6a88ed8754ac /packages/excalidraw/tests/shortcuts.test.tsx
parent16c8578b15c727f22921f8a80a56ee4d4e7f2272 (diff)
refactor: packages/
Diffstat (limited to 'packages/excalidraw/tests/shortcuts.test.tsx')
-rw-r--r--packages/excalidraw/tests/shortcuts.test.tsx31
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/excalidraw/tests/shortcuts.test.tsx b/packages/excalidraw/tests/shortcuts.test.tsx
new file mode 100644
index 0000000..e02ed01
--- /dev/null
+++ b/packages/excalidraw/tests/shortcuts.test.tsx
@@ -0,0 +1,31 @@
+import React from "react";
+import { KEYS } from "../keys";
+import { Excalidraw } from "../index";
+import { API } from "./helpers/api";
+import { Keyboard } from "./helpers/ui";
+import { fireEvent, render, waitFor } from "./test-utils";
+
+describe("shortcuts", () => {
+ it("Clear canvas shortcut should display confirm dialog", async () => {
+ await render(
+ <Excalidraw
+ initialData={{ elements: [API.createElement({ type: "rectangle" })] }}
+ handleKeyboardGlobally
+ />,
+ );
+
+ expect(window.h.elements.length).toBe(1);
+
+ Keyboard.withModifierKeys({ ctrl: true }, () => {
+ Keyboard.keyDown(KEYS.DELETE);
+ });
+ const confirmDialog = document.querySelector(".confirm-dialog")!;
+ expect(confirmDialog).not.toBe(null);
+
+ fireEvent.click(confirmDialog.querySelector('[aria-label="Confirm"]')!);
+
+ await waitFor(() => {
+ expect(window.h.elements[0].isDeleted).toBe(true);
+ });
+ });
+});