|
@@ -0,0 +1,30 @@
|
|
|
+import { KEYS } from "../keys";
|
|
|
+import { Excalidraw } from "../packages/excalidraw/entry";
|
|
|
+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);
|
|
|
+ });
|
|
|
+ });
|
|
|
+});
|