bb9c4b5582
* fix(tabs): clamp ListContainer chevron scrolling to the scrollable range (#6749) * chore(deps): bump react-aria dependencies (#6752) * chore(deps): bump tailwind-variants to v3.3.1 (#6760) * chore(docs): release note for 3.2.4 * test(react): behavioral testing infra (#6754) * fix(link): expose data-slot on link root * fix(react): put style export condition before default * test(react): behavioral testing infra and suites * chore(testing): own vitest-browser-react and clarify coverage gates * chore: remove pinned version * fix(autocomplete): prevent popover from clipping the last options (#6766) * chore(docs): update release note * fix(styles): prevent subpixel border overflow on badge (#6768) * chore(docs): update release note * fix(styles): allow backdrop click to dismiss modal with scroll outside (#6770) * chore(docs): update release note * fix(tooltip): restore exit animation when swapping between tooltips (#6772) * chore(docs): update release note --------- Co-authored-by: Tyler <56234978+runnerboy22@users.noreply.github.com> Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import {render, screen} from "@heroui/testing/helpers";
|
|
|
|
import {Description} from "@/components/description";
|
|
import {Input} from "@/components/input";
|
|
import {Label} from "@/components/label";
|
|
import {TextField} from "@/components/textfield";
|
|
|
|
describe("Description", () => {
|
|
it("exposes data-slot and BEM block inside TextField", () => {
|
|
render(
|
|
<TextField name="name">
|
|
<Label>Your name</Label>
|
|
<Input />
|
|
<Description>Visible to other users</Description>
|
|
</TextField>,
|
|
);
|
|
|
|
const description = document.querySelector('[data-slot="description"]');
|
|
|
|
expect(description).not.toBeNull();
|
|
expect(description?.className).toEqual(expect.stringContaining("description"));
|
|
expect(screen.getByText("Visible to other users")).toBeInTheDocument();
|
|
});
|
|
|
|
it("exposes accessible description on the input", () => {
|
|
render(
|
|
<TextField name="name">
|
|
<Label>Your name</Label>
|
|
<Input />
|
|
<Description>Helpful hint</Description>
|
|
</TextField>,
|
|
);
|
|
|
|
expect(screen.getByRole("textbox", {name: "Your name"})).toHaveAccessibleDescription(
|
|
"Helpful hint",
|
|
);
|
|
});
|
|
|
|
it("renders standalone outside a field gate", () => {
|
|
render(<Description>Standalone</Description>);
|
|
|
|
expect(document.querySelector('[data-slot="description"]')).not.toBeNull();
|
|
expect(screen.getByText("Standalone")).toBeInTheDocument();
|
|
});
|
|
});
|