|  | @@ -182,3 +182,73 @@ describe("paste text as a single element", () => {
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +describe("Paste bound text container", () => {
 | 
	
		
			
				|  |  | +  const container = {
 | 
	
		
			
				|  |  | +    type: "ellipse",
 | 
	
		
			
				|  |  | +    id: "container-id",
 | 
	
		
			
				|  |  | +    x: 554.984375,
 | 
	
		
			
				|  |  | +    y: 196.0234375,
 | 
	
		
			
				|  |  | +    width: 166,
 | 
	
		
			
				|  |  | +    height: 187.01953125,
 | 
	
		
			
				|  |  | +    roundness: { type: 2 },
 | 
	
		
			
				|  |  | +    boundElements: [{ type: "text", id: "text-id" }],
 | 
	
		
			
				|  |  | +  };
 | 
	
		
			
				|  |  | +  const textElement = {
 | 
	
		
			
				|  |  | +    type: "text",
 | 
	
		
			
				|  |  | +    id: "text-id",
 | 
	
		
			
				|  |  | +    x: 560.51171875,
 | 
	
		
			
				|  |  | +    y: 202.033203125,
 | 
	
		
			
				|  |  | +    width: 154,
 | 
	
		
			
				|  |  | +    height: 175,
 | 
	
		
			
				|  |  | +    fontSize: 20,
 | 
	
		
			
				|  |  | +    fontFamily: 1,
 | 
	
		
			
				|  |  | +    text: "Excalidraw is a\nvirtual \nopensource \nwhiteboard for \nsketching \nhand-drawn like\ndiagrams",
 | 
	
		
			
				|  |  | +    baseline: 168,
 | 
	
		
			
				|  |  | +    textAlign: "center",
 | 
	
		
			
				|  |  | +    verticalAlign: "middle",
 | 
	
		
			
				|  |  | +    containerId: container.id,
 | 
	
		
			
				|  |  | +    originalText:
 | 
	
		
			
				|  |  | +      "Excalidraw is a virtual opensource whiteboard for sketching hand-drawn like diagrams",
 | 
	
		
			
				|  |  | +  };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  it("should fix ellipse bounding box", async () => {
 | 
	
		
			
				|  |  | +    const data = JSON.stringify({
 | 
	
		
			
				|  |  | +      type: "excalidraw/clipboard",
 | 
	
		
			
				|  |  | +      elements: [container, textElement],
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    setClipboardText(data);
 | 
	
		
			
				|  |  | +    pasteWithCtrlCmdShiftV();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    await waitFor(async () => {
 | 
	
		
			
				|  |  | +      await sleep(1);
 | 
	
		
			
				|  |  | +      expect(h.elements.length).toEqual(2);
 | 
	
		
			
				|  |  | +      const container = h.elements[0];
 | 
	
		
			
				|  |  | +      expect(container.height).toBe(354);
 | 
	
		
			
				|  |  | +      expect(container.width).toBe(166);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  it("should fix diamond bounding box", async () => {
 | 
	
		
			
				|  |  | +    const data = JSON.stringify({
 | 
	
		
			
				|  |  | +      type: "excalidraw/clipboard",
 | 
	
		
			
				|  |  | +      elements: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          ...container,
 | 
	
		
			
				|  |  | +          type: "diamond",
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        textElement,
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    setClipboardText(data);
 | 
	
		
			
				|  |  | +    pasteWithCtrlCmdShiftV();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    await waitFor(async () => {
 | 
	
		
			
				|  |  | +      await sleep(1);
 | 
	
		
			
				|  |  | +      expect(h.elements.length).toEqual(2);
 | 
	
		
			
				|  |  | +      const container = h.elements[0];
 | 
	
		
			
				|  |  | +      expect(container.height).toBe(740);
 | 
	
		
			
				|  |  | +      expect(container.width).toBe(166);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +});
 |