Skip to content

Commit

Permalink
Add tests for handleDblclick
Browse files Browse the repository at this point in the history
  • Loading branch information
mbraak committed Nov 25, 2024
1 parent 736cc4d commit e3890c7
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/test/mouseHandler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,53 @@ describe("handleContextmenu", () => {
expect(triggerEvent).not.toHaveBeenCalled();
});
});

describe("handleDblclick", () => {
it("handles a double click on a label", () => {
const element = document.createElement("div");

const label = document.createElement("div");
label.classList.add("jqtree-element");
element.appendChild(label);

document.body.append(element);

const node = new Node();

const getNode = jest.fn((element: HTMLElement) => {
if (element === label) {
return node;
} else {
return null;
}
});

const triggerEvent = jest.fn();

createMouseHandler({ element, getNode, triggerEvent });

const event = new MouseEvent("dblclick", { bubbles: true });
label.dispatchEvent(event);

expect(triggerEvent).toHaveBeenCalledWith("tree.dblclick", {
click_event: event,
node,
});
});

it("handles a double click event without a target", () => {
const element = document.createElement("div");
document.body.appendChild(element);

const triggerEvent = jest.fn();

createMouseHandler({ element, triggerEvent });

const event = new MouseEvent("dblclick", { bubbles: true });
jest.spyOn(event, "target", "get").mockReturnValue(null);

element.dispatchEvent(event);

expect(triggerEvent).not.toHaveBeenCalled();
});
});

0 comments on commit e3890c7

Please sign in to comment.