feat: Rounding coordinates

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
This commit is contained in:
Mark Tolmacs
2026-06-22 14:39:39 +02:00
parent 28a9b1711d
commit 435b4a1684
15 changed files with 537 additions and 522 deletions
+300 -300
View File
@@ -72,123 +72,123 @@ describe("aligning", () => {
it("aligns two objects correctly to the top", () => {
createAndSelectTwoRectangles();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
Keyboard.withModifierKeys({ ctrl: true, shift: true }, () => {
Keyboard.keyPress(KEYS.ARROW_UP);
});
// Check if x position did not change
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(0);
});
it("aligns two objects correctly to the bottom", () => {
createAndSelectTwoRectangles();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
Keyboard.withModifierKeys({ ctrl: true, shift: true }, () => {
Keyboard.keyPress(KEYS.ARROW_DOWN);
});
// Check if x position did not change
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(110);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(110);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
});
it("aligns two objects correctly to the left", () => {
createAndSelectTwoRectangles();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
Keyboard.withModifierKeys({ ctrl: true, shift: true }, () => {
Keyboard.keyPress(KEYS.ARROW_LEFT);
});
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(0);
// Check if y position did not change
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
});
it("aligns two objects correctly to the right", () => {
createAndSelectTwoRectangles();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
Keyboard.withModifierKeys({ ctrl: true, shift: true }, () => {
Keyboard.keyPress(KEYS.ARROW_RIGHT);
});
expect(API.getSelectedElements()[0].x).toEqual(110);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(110);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
// Check if y position did not change
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
});
it("centers two objects with different sizes correctly vertically", () => {
createAndSelectTwoRectanglesWithDifferentSizes();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
API.executeAction(actionAlignVerticallyCentered);
// Check if x position did not change
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(60);
expect(API.getSelectedElements()[1].y).toEqual(55);
expect(API.getSelectedElements()[0].y).toBeCloseTo(60);
expect(API.getSelectedElements()[1].y).toBeCloseTo(55);
});
it("centers two objects with different sizes correctly horizontally", () => {
createAndSelectTwoRectanglesWithDifferentSizes();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(110);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(110);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(60);
expect(API.getSelectedElements()[1].x).toEqual(55);
expect(API.getSelectedElements()[0].x).toBeCloseTo(60);
expect(API.getSelectedElements()[1].x).toBeCloseTo(55);
// Check if y position did not change
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(110);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(110);
});
const createAndSelectGroupAndRectangle = () => {
@@ -226,85 +226,85 @@ describe("aligning", () => {
it("aligns a group with another element correctly to the top", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(0);
});
it("aligns a group with another element correctly to the bottom", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(200);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(200);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
});
it("aligns a group with another element correctly to the left", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(0);
});
it("aligns a group with another element correctly to the right", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(200);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(200);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
});
it("centers a group with another element correctly vertically", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(150);
expect(API.getSelectedElements()[2].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(150);
expect(API.getSelectedElements()[2].y).toBeCloseTo(100);
});
it("centers a group with another element correctly horizontally", () => {
createAndSelectGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(150);
expect(API.getSelectedElements()[2].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(150);
expect(API.getSelectedElements()[2].x).toBeCloseTo(100);
});
const createAndSelectTwoGroups = () => {
@@ -354,97 +354,97 @@ describe("aligning", () => {
it("aligns two groups correctly to the top", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(0);
expect(API.getSelectedElements()[3].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(0);
expect(API.getSelectedElements()[3].y).toBeCloseTo(100);
});
it("aligns two groups correctly to the bottom", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(200);
expect(API.getSelectedElements()[1].y).toEqual(300);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(200);
expect(API.getSelectedElements()[1].y).toBeCloseTo(300);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
});
it("aligns two groups correctly to the left", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(0);
expect(API.getSelectedElements()[3].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(0);
expect(API.getSelectedElements()[3].x).toBeCloseTo(100);
});
it("aligns two groups correctly to the right", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(200);
expect(API.getSelectedElements()[1].x).toEqual(300);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(200);
expect(API.getSelectedElements()[1].x).toBeCloseTo(300);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
});
it("centers two groups correctly vertically", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(200);
expect(API.getSelectedElements()[2].y).toEqual(100);
expect(API.getSelectedElements()[3].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(200);
expect(API.getSelectedElements()[2].y).toBeCloseTo(100);
expect(API.getSelectedElements()[3].y).toBeCloseTo(200);
});
it("centers two groups correctly horizontally", () => {
createAndSelectTwoGroups();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(200);
expect(API.getSelectedElements()[2].x).toEqual(100);
expect(API.getSelectedElements()[3].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(200);
expect(API.getSelectedElements()[2].x).toBeCloseTo(100);
expect(API.getSelectedElements()[3].x).toBeCloseTo(200);
});
const createAndSelectNestedGroupAndRectangle = () => {
@@ -497,97 +497,97 @@ describe("aligning", () => {
it("aligns nested group and other element correctly to the top", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(0);
});
it("aligns nested group and other element correctly to the bottom", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(200);
expect(API.getSelectedElements()[2].y).toEqual(300);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(200);
expect(API.getSelectedElements()[2].y).toBeCloseTo(300);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
});
it("aligns nested group and other element correctly to the left", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(0);
});
it("aligns nested group and other element correctly to the right", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(200);
expect(API.getSelectedElements()[2].x).toEqual(300);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(200);
expect(API.getSelectedElements()[2].x).toBeCloseTo(300);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
});
it("centers nested group and other element correctly vertically", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[3].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
expect(API.getSelectedElements()[3].y).toBeCloseTo(300);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(150);
expect(API.getSelectedElements()[2].y).toEqual(250);
expect(API.getSelectedElements()[3].y).toEqual(150);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(150);
expect(API.getSelectedElements()[2].y).toBeCloseTo(250);
expect(API.getSelectedElements()[3].y).toBeCloseTo(150);
});
it("centers nested group and other element correctly horizontally", () => {
createAndSelectNestedGroupAndRectangle();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[3].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
expect(API.getSelectedElements()[3].x).toBeCloseTo(300);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(150);
expect(API.getSelectedElements()[2].x).toEqual(250);
expect(API.getSelectedElements()[3].x).toEqual(150);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(150);
expect(API.getSelectedElements()[2].x).toBeCloseTo(250);
expect(API.getSelectedElements()[3].x).toBeCloseTo(150);
});
const createGroupAndSelectInEditGroupMode = () => {
@@ -622,68 +622,68 @@ describe("aligning", () => {
it("aligns elements within a group while in group edit mode correctly to the top", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(0);
});
it("aligns elements within a group while in group edit mode correctly to the bottom", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
});
it("aligns elements within a group while in group edit mode correctly to the left", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(0);
});
it("aligns elements within a group while in group edit mode correctly to the right", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
});
it("aligns elements within a group while in group edit mode correctly to the vertical center", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(50);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(50);
});
it("aligns elements within a group while in group edit mode correctly to the horizontal center", () => {
createGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(50);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(50);
});
const createNestedGroupAndSelectInEditGroupMode = () => {
@@ -735,80 +735,80 @@ describe("aligning", () => {
it("aligns element and nested group while in group edit mode correctly to the top", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(0);
});
it("aligns element and nested group while in group edit mode correctly to the bottom", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(200);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(200);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
});
it("aligns element and nested group while in group edit mode correctly to the left", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(0);
});
it("aligns element and nested group while in group edit mode correctly to the right", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(200);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(200);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
});
it("aligns element and nested group while in group edit mode correctly to the vertical center", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(150);
expect(API.getSelectedElements()[2].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(150);
expect(API.getSelectedElements()[2].y).toBeCloseTo(100);
});
it("aligns elements and nested group within a group while in group edit mode correctly to the horizontal center", () => {
createNestedGroupAndSelectInEditGroupMode();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(150);
expect(API.getSelectedElements()[2].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(150);
expect(API.getSelectedElements()[2].x).toBeCloseTo(100);
});
const createAndSelectSingleGroup = () => {
@@ -834,68 +834,68 @@ describe("aligning", () => {
it("aligns elements within a single-selected group correctly to the top", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(0);
});
it("aligns elements within a single-selected group correctly to the bottom", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
});
it("aligns elements within a single-selected group correctly to the left", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(0);
});
it("aligns elements within a single-selected group correctly to the right", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
});
it("aligns elements within a single-selected group correctly to the vertical center", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(50);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(50);
});
it("aligns elements within a single-selected group correctly to the horizontal center", () => {
createAndSelectSingleGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(50);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(50);
});
const createAndSelectSingleGroupWithNestedGroup = () => {
@@ -934,79 +934,79 @@ describe("aligning", () => {
it("aligns elements within a single-selected group containing a nested group correctly to the top", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignTop);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(0);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(0);
});
it("aligns elements within a single-selected group containing a nested group correctly to the bottom", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignBottom);
expect(API.getSelectedElements()[0].y).toEqual(100);
expect(API.getSelectedElements()[1].y).toEqual(200);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(100);
expect(API.getSelectedElements()[1].y).toBeCloseTo(200);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
});
it("aligns elements within a single-selected group containing a nested group correctly to the left", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignLeft);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(0);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(0);
});
it("aligns elements within a single-selected group containing a nested group correctly to the right", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignRight);
expect(API.getSelectedElements()[0].x).toEqual(100);
expect(API.getSelectedElements()[1].x).toEqual(200);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(100);
expect(API.getSelectedElements()[1].x).toBeCloseTo(200);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
});
it("aligns elements within a single-selected group containing a nested group correctly to the vertical center", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(100);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(100);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(actionAlignVerticallyCentered);
expect(API.getSelectedElements()[0].y).toEqual(50);
expect(API.getSelectedElements()[1].y).toEqual(150);
expect(API.getSelectedElements()[2].y).toEqual(100);
expect(API.getSelectedElements()[0].y).toBeCloseTo(50);
expect(API.getSelectedElements()[1].y).toBeCloseTo(150);
expect(API.getSelectedElements()[2].y).toBeCloseTo(100);
});
it("aligns elements within a single-selected group containing a nested group correctly to the horizontal center", () => {
createAndSelectSingleGroupWithNestedGroup();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(100);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(100);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(actionAlignHorizontallyCentered);
expect(API.getSelectedElements()[0].x).toEqual(50);
expect(API.getSelectedElements()[1].x).toEqual(150);
expect(API.getSelectedElements()[2].x).toEqual(100);
expect(API.getSelectedElements()[0].x).toBeCloseTo(50);
expect(API.getSelectedElements()[1].x).toBeCloseTo(150);
expect(API.getSelectedElements()[2].x).toBeCloseTo(100);
});
});
+24 -24
View File
@@ -76,53 +76,53 @@ describe("distributing", () => {
it("should distribute selected elements horizontally", async () => {
createAndSelectThreeRectanglesWithGap();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(10);
expect(API.getSelectedElements()[2].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(10);
expect(API.getSelectedElements()[2].x).toBeCloseTo(300);
API.executeAction(distributeHorizontally);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(150);
expect(API.getSelectedElements()[2].x).toEqual(300);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(150);
expect(API.getSelectedElements()[2].x).toBeCloseTo(300);
});
it("should distribute selected elements vertically", async () => {
createAndSelectThreeRectanglesWithGap();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(10);
expect(API.getSelectedElements()[2].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(10);
expect(API.getSelectedElements()[2].y).toBeCloseTo(300);
API.executeAction(distributeVertically);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(150);
expect(API.getSelectedElements()[2].y).toEqual(300);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(150);
expect(API.getSelectedElements()[2].y).toBeCloseTo(300);
});
it("should distribute selected elements horizontally based on their centers", async () => {
createAndSelectThreeRectanglesWithoutGap();
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(10);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(10);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
API.executeAction(distributeHorizontally);
expect(API.getSelectedElements()[0].x).toEqual(0);
expect(API.getSelectedElements()[1].x).toEqual(50);
expect(API.getSelectedElements()[2].x).toEqual(200);
expect(API.getSelectedElements()[0].x).toBeCloseTo(0);
expect(API.getSelectedElements()[1].x).toBeCloseTo(50);
expect(API.getSelectedElements()[2].x).toBeCloseTo(200);
});
it("should distribute selected elements vertically with based on their centers", async () => {
createAndSelectThreeRectanglesWithoutGap();
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(10);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(10);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
API.executeAction(distributeVertically);
expect(API.getSelectedElements()[0].y).toEqual(0);
expect(API.getSelectedElements()[1].y).toEqual(50);
expect(API.getSelectedElements()[2].y).toEqual(200);
expect(API.getSelectedElements()[0].y).toBeCloseTo(0);
expect(API.getSelectedElements()[1].y).toBeCloseTo(50);
expect(API.getSelectedElements()[2].y).toBeCloseTo(200);
});
});
@@ -1318,8 +1318,8 @@ describe("Test Linear Elements", () => {
expect(arrow.endBinding?.elementId).toBe(rect.id);
expect(arrow.width).toBeCloseTo(404);
expect(rect.x).toBe(400);
expect(rect.y).toBe(0);
expect(rect.x).toBeCloseTo(400);
expect(rect.y).toBeCloseTo(0);
expect(
wrapText(
textElement.originalText,
@@ -1340,9 +1340,8 @@ describe("Test Linear Elements", () => {
expect(rect.x).toBe(200);
expect(rect.y).toBe(0);
expect(handleBindTextResizeSpy).toHaveBeenCalledWith(
h.elements[0],
h.elements[1],
h.app.scene,
"nw",
false,
);
expect(