import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { CompletionAnnouncer } from "../src/components/common/CompletionAnnouncer.js"; import { TopBar } from "../src/components/topbar/TopBar.js"; describe("accessibility contracts", () => { it("gives icon-only actions accessible names", () => { render(); expect(screen.getByRole("button", { name: "打开模型设置" })).toBeVisible(); expect(screen.getByRole("button", { name: "重置训练会话" })).toBeVisible(); }); it("announces completion but not every streaming token", () => { const { rerender } = render(); expect(screen.getByRole("status")).toBeEmptyDOMElement(); rerender(); expect(screen.getByRole("status")).toHaveTextContent("回答已完成"); }); });