mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
39 lines
1 KiB
JavaScript
39 lines
1 KiB
JavaScript
function normalizeCoords(coords) {
|
|
// Note: Cypress seems to check against falsiness (thus 0 values are
|
|
// considered as not supplied, and position defualts to "center").
|
|
// Until fixed, default to `1`
|
|
// See https://github.com/cypress-io/cypress/issues/2338
|
|
return {
|
|
x: coords.x || 1,
|
|
y: coords.y || 1
|
|
};
|
|
}
|
|
|
|
Cypress.Commands.add("pickTool", { prevSubject: false }, tool =>
|
|
cy.contains("label", tool).click()
|
|
);
|
|
|
|
Cypress.Commands.add(
|
|
"canvasClick",
|
|
{ prevSubject: true },
|
|
($canvas, coords) => {
|
|
coords = normalizeCoords(coords);
|
|
cy.wrap($canvas)
|
|
.trigger("mousedown", coords.x, coords.y)
|
|
.trigger("mouseup", coords.x, coords.y);
|
|
}
|
|
);
|
|
|
|
Cypress.Commands.add(
|
|
"canvasDrag",
|
|
{ prevSubject: true },
|
|
($canvas, startCoods, endCoords) => {
|
|
startCoods = normalizeCoords(startCoods);
|
|
endCoords = normalizeCoords(endCoords);
|
|
|
|
cy.wrap($canvas)
|
|
.trigger("mousedown", startCoods.x, startCoods.y)
|
|
.trigger("mousemove", endCoords.x, endCoords.y)
|
|
.trigger("mouseup", endCoords.x, endCoords.y);
|
|
}
|
|
);
|