|
@@ -1165,5 +1165,128 @@ describe("textWysiwyg", () => {
|
|
|
).toEqual(36);
|
|
|
expect(getOriginalContainerHeightFromCache(rectangle.id)).toBe(75);
|
|
|
});
|
|
|
+
|
|
|
+ describe("should align correctly", () => {
|
|
|
+ let editor: HTMLTextAreaElement;
|
|
|
+
|
|
|
+ beforeEach(async () => {
|
|
|
+ Keyboard.keyPress(KEYS.ENTER);
|
|
|
+ editor = document.querySelector(
|
|
|
+ ".excalidraw-textEditorContainer > textarea",
|
|
|
+ ) as HTMLTextAreaElement;
|
|
|
+ await new Promise((r) => setTimeout(r, 0));
|
|
|
+ fireEvent.change(editor, { target: { value: "Hello" } });
|
|
|
+ editor.blur();
|
|
|
+ mouse.select(rectangle);
|
|
|
+ Keyboard.keyPress(KEYS.ENTER);
|
|
|
+ editor = document.querySelector(
|
|
|
+ ".excalidraw-textEditorContainer > textarea",
|
|
|
+ ) as HTMLTextAreaElement;
|
|
|
+ editor.select();
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when top left", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Left"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align top"));
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 15,
|
|
|
+ 20,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when top center", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Center"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align top"));
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 94.5,
|
|
|
+ 20,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when top right", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Right"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align top"));
|
|
|
+
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 174,
|
|
|
+ 20,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when center left", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Center vertically"));
|
|
|
+ fireEvent.click(screen.getByTitle("Left"));
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 15,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when center center", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Center"));
|
|
|
+ fireEvent.click(screen.getByTitle("Center vertically"));
|
|
|
+
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ -25,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when center right", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Right"));
|
|
|
+ fireEvent.click(screen.getByTitle("Center vertically"));
|
|
|
+
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 174,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when bottom left", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Left"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align bottom"));
|
|
|
+
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 15,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when bottom center", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Center"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align bottom"));
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 94.5,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("when bottom right", async () => {
|
|
|
+ fireEvent.click(screen.getByTitle("Right"));
|
|
|
+ fireEvent.click(screen.getByTitle("Align bottom"));
|
|
|
+ expect([h.elements[1].x, h.elements[1].y]).toMatchInlineSnapshot(`
|
|
|
+ Array [
|
|
|
+ 174,
|
|
|
+ 25,
|
|
|
+ ]
|
|
|
+ `);
|
|
|
+ });
|
|
|
+ });
|
|
|
});
|
|
|
});
|