import { render, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { describe, expect, it } from "vitest"; import { Dialog, DialogContent, DialogTitle, DialogTrigger } from "./dialog"; describe("Dialog", () => { it("opens via trigger, renders title, closes via Escape (radix under jsdom)", async () => { render( 打开对话框 测试标题

正文内容

, ); expect(screen.queryByRole("dialog")).not.toBeInTheDocument(); await userEvent.click(screen.getByRole("button", { name: "打开对话框" })); expect(await screen.findByRole("dialog")).toBeInTheDocument(); expect(screen.getByText("测试标题")).toBeInTheDocument(); expect(screen.getByText("正文内容")).toBeInTheDocument(); await userEvent.keyboard("{Escape}"); await waitFor(() => expect(screen.queryByRole("dialog")).not.toBeInTheDocument()); }); });