feat(web): polish responsive accessible interface
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
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(<TopBar sessionId="ses_1" connection="open" modelLabel="gpt-test" supportsImages onOpenSettings={vi.fn()} onReset={vi.fn()} />);
|
||||
expect(screen.getByRole("button", { name: "打开模型设置" })).toBeVisible();
|
||||
expect(screen.getByRole("button", { name: "重置训练会话" })).toBeVisible();
|
||||
});
|
||||
|
||||
it("announces completion but not every streaming token", () => {
|
||||
const { rerender } = render(<CompletionAnnouncer status="running" />);
|
||||
expect(screen.getByRole("status")).toBeEmptyDOMElement();
|
||||
rerender(<CompletionAnnouncer status="complete" />);
|
||||
expect(screen.getByRole("status")).toHaveTextContent("回答已完成");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user