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
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);
|
|
});
|
|
});
|
|
|