31 lines
915 B
TypeScript
31 lines
915 B
TypeScript
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);
|
|
});
|
|
});
|
|
});
|