Restore master

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
This commit is contained in:
Mark Tolmacs 2025-05-01 09:44:02 +02:00
parent 43561b6631
commit f6203daac5
No known key found for this signature in database
7 changed files with 93 additions and 252 deletions

View file

@ -199,7 +199,7 @@ describe("elbow arrow routing", () => {
points: [pointFrom<LocalPoint>(0, 0), pointFrom<LocalPoint>(90, 200)],
});
expect(arrow.points).toCloselyEqualPoints([
expect(arrow.points).toEqual([
[0, 0],
[45, 0],
[45, 200],
@ -253,7 +253,7 @@ describe("elbow arrow ui", () => {
expect(arrow.type).toBe("arrow");
expect(arrow.elbowed).toBe(true);
expect(arrow.points).toCloselyEqualPoints([
expect(arrow.points).toEqual([
[0, 0],
[45, 0],
[45, 200],
@ -351,7 +351,7 @@ describe("elbow arrow ui", () => {
expect(duplicatedArrow.id).not.toBe(originalArrowId);
expect(duplicatedArrow.type).toBe("arrow");
expect(duplicatedArrow.elbowed).toBe(true);
expect(duplicatedArrow.points).toCloselyEqualPoints([
expect(duplicatedArrow.points).toEqual([
[0, 0],
[45, 0],
[45, 200],
@ -405,98 +405,11 @@ describe("elbow arrow ui", () => {
expect(duplicatedArrow.id).not.toBe(originalArrowId);
expect(duplicatedArrow.type).toBe("arrow");
expect(duplicatedArrow.elbowed).toBe(true);
expect(duplicatedArrow.points).toCloselyEqualPoints([
expect(duplicatedArrow.points).toEqual([
[0, 0],
[0, 100],
[90, 100],
[90, 200],
]);
});
it("elbow arrow snap at diamond quarter point too", async () => {
UI.createElement("diamond", {
x: -50,
y: -50,
width: 100,
height: 100,
});
UI.clickTool("arrow");
UI.clickOnTestId("elbow-arrow");
mouse.reset();
mouse.moveTo(43, 99);
mouse.click();
mouse.moveTo(27, 25);
mouse.click();
let arrow = h.scene.getSelectedElements(
h.state,
)[0] as ExcalidrawArrowElement;
expect(arrow.endBinding).not.toBe(null);
expect(arrow.x + arrow.points[arrow.points.length - 1][0]).toBeCloseTo(
29.0355,
);
expect(arrow.y + arrow.points[arrow.points.length - 1][1]).toBeCloseTo(
29.0355,
);
UI.clickTool("arrow");
UI.clickOnTestId("elbow-arrow");
mouse.reset();
mouse.moveTo(43, 99);
mouse.click();
mouse.moveTo(-23, 25);
mouse.click();
arrow = h.scene.getSelectedElements(h.state)[0] as ExcalidrawArrowElement;
expect(arrow.endBinding).not.toBe(null);
expect(arrow.x + arrow.points[arrow.points.length - 1][0]).toBeCloseTo(
-28.5559,
);
expect(arrow.y + arrow.points[arrow.points.length - 1][1]).toBeCloseTo(
28.5559,
);
UI.clickTool("arrow");
UI.clickOnTestId("elbow-arrow");
mouse.reset();
mouse.moveTo(43, 99);
mouse.click();
mouse.moveTo(-27, -25);
mouse.click();
arrow = h.scene.getSelectedElements(h.state)[0] as ExcalidrawArrowElement;
expect(arrow.endBinding).not.toBe(null);
expect(arrow.x + arrow.points[arrow.points.length - 1][0]).toBeCloseTo(
-28.0355,
);
expect(arrow.y + arrow.points[arrow.points.length - 1][1]).toBeCloseTo(
-28.0355,
);
UI.clickTool("arrow");
UI.clickOnTestId("elbow-arrow");
mouse.reset();
mouse.moveTo(43, 99);
mouse.click();
mouse.moveTo(23, -25);
mouse.click();
arrow = h.scene.getSelectedElements(h.state)[0] as ExcalidrawArrowElement;
expect(arrow.endBinding).not.toBe(null);
expect(arrow.x + arrow.points[arrow.points.length - 1][0]).toBeCloseTo(
28.5559,
);
expect(arrow.y + arrow.points[arrow.points.length - 1][1]).toBeCloseTo(
-28.5559,
);
});
});