fix: cleanup the condition for dragging elements (#5555)

This commit is contained in:
Aakansha Doshi
2022-08-10 15:32:40 +05:30
committed by GitHub
parent 2d800feeeb
commit fe56975f19
2 changed files with 34 additions and 44 deletions

View File

@ -862,46 +862,42 @@ describe("regression tests", () => {
expect(API.getSelectedElements().length).toBe(0);
});
it(
"drags selected elements from point inside common bounding box that doesn't hit any element " +
"and keeps elements selected after dragging",
() => {
UI.clickTool("rectangle");
mouse.down();
mouse.up(10, 10);
it("drags selected elements from point inside common bounding box that doesn't hit any element and keeps elements selected after dragging", () => {
UI.clickTool("rectangle");
mouse.down();
mouse.up(10, 10);
UI.clickTool("ellipse");
mouse.down(100, 100);
mouse.up(10, 10);
UI.clickTool("ellipse");
mouse.down(100, 100);
mouse.up(10, 10);
// Selects first element without deselecting the second element
// Second element is already selected because creating it was our last action
mouse.reset();
Keyboard.withModifierKeys({ shift: true }, () => {
mouse.click(5, 5);
});
// Selects first element without deselecting the second element
// Second element is already selected because creating it was our last action
mouse.reset();
Keyboard.withModifierKeys({ shift: true }, () => {
mouse.click(5, 5);
});
expect(API.getSelectedElements().length).toBe(2);
expect(API.getSelectedElements().length).toBe(2);
const { x: firstElementPrevX, y: firstElementPrevY } =
API.getSelectedElements()[0];
const { x: secondElementPrevX, y: secondElementPrevY } =
API.getSelectedElements()[1];
const { x: firstElementPrevX, y: firstElementPrevY } =
API.getSelectedElements()[0];
const { x: secondElementPrevX, y: secondElementPrevY } =
API.getSelectedElements()[1];
// drag elements from point on common bounding box that doesn't hit any of the elements
mouse.reset();
mouse.down(50, 50);
mouse.up(25, 25);
// drag elements from point on common bounding box that doesn't hit any of the elements
mouse.reset();
mouse.down(50, 50);
mouse.up(25, 25);
expect(API.getSelectedElements()[0].x).toEqual(firstElementPrevX + 25);
expect(API.getSelectedElements()[0].y).toEqual(firstElementPrevY + 25);
expect(API.getSelectedElements()[0].x).toEqual(firstElementPrevX + 25);
expect(API.getSelectedElements()[0].y).toEqual(firstElementPrevY + 25);
expect(API.getSelectedElements()[1].x).toEqual(secondElementPrevX + 25);
expect(API.getSelectedElements()[1].y).toEqual(secondElementPrevY + 25);
expect(API.getSelectedElements()[1].x).toEqual(secondElementPrevX + 25);
expect(API.getSelectedElements()[1].y).toEqual(secondElementPrevY + 25);
expect(API.getSelectedElements().length).toBe(2);
},
);
expect(API.getSelectedElements().length).toBe(2);
});
it(
"given a group of selected elements with an element that is not selected inside the group common bounding box " +