|
@@ -27,6 +27,7 @@ import * as textElementUtils from "../element/textElement";
|
|
|
import { ROUNDNESS, VERTICAL_ALIGN } from "../constants";
|
|
|
import { vi } from "vitest";
|
|
|
import { arrayToMap } from "../utils";
|
|
|
+import React from "react";
|
|
|
|
|
|
const renderInteractiveScene = vi.spyOn(
|
|
|
InteractiveCanvas,
|
|
@@ -972,10 +973,10 @@ describe("Test Linear Elements", () => {
|
|
|
]);
|
|
|
expect((h.elements[1] as ExcalidrawTextElementWithContainer).text)
|
|
|
.toMatchInlineSnapshot(`
|
|
|
- "Online whiteboard
|
|
|
- collaboration made
|
|
|
- easy"
|
|
|
- `);
|
|
|
+ "Online whiteboard
|
|
|
+ collaboration made
|
|
|
+ easy"
|
|
|
+ `);
|
|
|
});
|
|
|
|
|
|
it("should bind text to arrow when clicked on arrow and enter pressed", async () => {
|
|
@@ -1006,10 +1007,10 @@ describe("Test Linear Elements", () => {
|
|
|
]);
|
|
|
expect((h.elements[1] as ExcalidrawTextElementWithContainer).text)
|
|
|
.toMatchInlineSnapshot(`
|
|
|
- "Online whiteboard
|
|
|
- collaboration made
|
|
|
- easy"
|
|
|
- `);
|
|
|
+ "Online whiteboard
|
|
|
+ collaboration made
|
|
|
+ easy"
|
|
|
+ `);
|
|
|
});
|
|
|
|
|
|
it("should not bind text to line when double clicked", async () => {
|
|
@@ -1349,4 +1350,27 @@ describe("Test Linear Elements", () => {
|
|
|
expect(label.y).toBe(0);
|
|
|
});
|
|
|
});
|
|
|
+
|
|
|
+ describe("Test moving linear element points", () => {
|
|
|
+ it("should move the endpoint in the negative direction correctly when the start point is also moved in the positive direction", async () => {
|
|
|
+ const line = createThreePointerLinearElement("arrow");
|
|
|
+ const [origStartX, origStartY] = [line.x, line.y];
|
|
|
+
|
|
|
+ LinearElementEditor.movePoints(line, [
|
|
|
+ { index: 0, point: [line.points[0][0] + 10, line.points[0][1] + 10] },
|
|
|
+ {
|
|
|
+ index: line.points.length - 1,
|
|
|
+ point: [
|
|
|
+ line.points[line.points.length - 1][0] - 10,
|
|
|
+ line.points[line.points.length - 1][1] - 10,
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]);
|
|
|
+ expect(line.x).toBe(origStartX + 10);
|
|
|
+ expect(line.y).toBe(origStartY + 10);
|
|
|
+
|
|
|
+ expect(line.points[line.points.length - 1][0]).toBe(20);
|
|
|
+ expect(line.points[line.points.length - 1][1]).toBe(-20);
|
|
|
+ });
|
|
|
+ });
|
|
|
});
|