import { describe, expect, it } from "vitest"; import { createTouchCanvasPointerEvent, createTouchMouseDownEvent } from "./timelineTouchAdapters.js"; describe("timelineTouchAdapters", () => { it("creates a primary-button mouse-down adapter for touch handlers", () => { const currentTarget = new EventTarget(); expect(createTouchMouseDownEvent({ clientX: 42, clientY: 17 }, currentTarget)).toMatchObject({ button: 0, clientX: 42, currentTarget, shiftKey: false, }); }); it("allows missing targets when creating a touch mouse-down adapter", () => { const event = createTouchMouseDownEvent({ clientX: 7, clientY: 9 }); expect(event.currentTarget).toBeNull(); expect(() => { event.preventDefault(); event.stopPropagation(); }).not.toThrow(); }); it("creates a canvas pointer event with both coordinates preserved", () => { expect(createTouchCanvasPointerEvent({ clientX: 21, clientY: 34 })).toEqual({ clientX: 21, clientY: 34, }); }); });