You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

30 lines
899 B

import { on, off } from "@xyx-utils/browser";
describe("测试 on 与 off", () => {
it("触发多次click事件", () => {
const mockListener = vi.fn();
const element = document.createElement("div");
on(element, "click", mockListener);
const event = new MouseEvent("click");
element.dispatchEvent(event);
element.dispatchEvent(event);
expect(mockListener).toBeCalledTimes(2);
});
it("仅触发一次click事件", () => {
const mockListener = vi.fn();
const element = document.createElement("div");
on(element, "click", mockListener);
const event = new MouseEvent("click");
element.dispatchEvent(event);
off(element, "click", mockListener);
element.dispatchEvent(event);
element.dispatchEvent(event);
expect(mockListener).toBeCalledTimes(1);
});
});