diff --git a/src/components/preview-pane.test.tsx b/src/components/preview-pane.test.tsx new file mode 100644 index 0000000..44bd494 --- /dev/null +++ b/src/components/preview-pane.test.tsx @@ -0,0 +1,32 @@ +import { render, screen } from "@testing-library/react" +import { describe, expect, it } from "vitest" + +import { PreviewPane } from "@/components/preview-pane" +import { TooltipProvider } from "@/components/ui/tooltip" + +describe("PreviewPane", () => { + it("keeps an oversized diagram reachable inside a keyboard-scrollable preview", () => { + render( + + '} + /> + , + ) + + const preview = screen.getByRole("region", { name: "Rendered diagram preview" }) + const trigger = screen.getByRole("button", { name: "Expand rendered diagram" }) + const image = screen.getByAltText("Rendered Stack architecture diagram") + + expect(preview).toHaveClass("overflow-auto") + expect(trigger).toHaveAttribute("type", "button") + expect(trigger).toHaveClass("m-auto", "shrink-0") + expect(trigger).not.toHaveClass("max-h-full") + expect(image).toHaveClass("h-auto", "max-w-full") + expect(image).not.toHaveClass("max-h-full") + }) +}) diff --git a/src/components/preview-pane.tsx b/src/components/preview-pane.tsx index 0922775..add8f76 100644 --- a/src/components/preview-pane.tsx +++ b/src/components/preview-pane.tsx @@ -77,11 +77,14 @@ export function PreviewPane({ -
+
{svg ? ( ) : ( -

+

{isLoading ? "Loading the Stack engine…" : status === "Analyzing source…" @@ -89,7 +92,7 @@ export function PreviewPane({ : "Run the source to generate an SVG."}

)} -
+
{status} @@ -105,12 +108,12 @@ function SvgImage({ svg }: { svg: string }) {