import { renderHook } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
import { usePointerHandler } from "./index";
describe("usePointerHandler", () => {
    it("should call onPointer on single click", () => {
        vi.useFakeTimers();
        let onPointer = vi.fn();
        let onDblPointer = vi.fn();
        let { result } = renderHook(() => usePointerHandler({ onPointer, onDblPointer }, 200));
        result.current({});
        vi.advanceTimersByTime(200);
        expect(onPointer).toHaveBeenCalledTimes(1);
        expect(onDblPointer).toHaveBeenCalledTimes(0);
        vi.useRealTimers();
    });
    it("should call onDblPointer on double click", () => {
        vi.useFakeTimers();
        let onPointer = vi.fn();
        let onDblPointer = vi.fn();
        let { result } = renderHook(() => usePointerHandler({ onPointer, onDblPointer }, 200));
        result.current({});
        vi.advanceTimersByTime(100);
        result.current({});
        vi.advanceTimersByTime(100);
        expect(onPointer).toHaveBeenCalledTimes(0);
        expect(onDblPointer).toHaveBeenCalledTimes(1);
        vi.useRealTimers();
    });
});
