Files
heroui-inc--heroui/packages/react/tests/components/kbd/kbd.test.tsx
T
WK bb9c4b5582 V3.2.4 (#6758)
* 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>
2026-08-07 06:19:12 -07:00

58 lines
1.4 KiB
TypeScript

import {render, screen} from "@heroui/testing/helpers";
import {Kbd} from "@/components/kbd";
describe("Kbd", () => {
it("renders abbreviated key and content", () => {
render(
<Kbd>
<Kbd.Abbr keyValue="command" />
<Kbd.Content>K</Kbd.Content>
</Kbd>,
);
expect(screen.getByText("⌘")).toBeInTheDocument();
expect(screen.getByText("K")).toBeInTheDocument();
});
it("exposes a title label for the abbreviated key", () => {
render(
<Kbd>
<Kbd.Abbr keyValue="command" />
</Kbd>,
);
expect(screen.getByTitle("Command")).toBeInTheDocument();
});
it("exposes BEM block class on the root", () => {
render(
<Kbd data-testid="kbd">
<Kbd.Content>Esc</Kbd.Content>
</Kbd>,
);
expect(screen.getByTestId("kbd").className).toEqual(expect.stringContaining("kbd"));
});
it("exposes variant BEM modifier", () => {
render(
<Kbd data-testid="kbd" variant="light">
<Kbd.Content>Esc</Kbd.Content>
</Kbd>,
);
expect(screen.getByTestId("kbd").className).toEqual(expect.stringContaining("kbd--light"));
});
it("supports data attribute passthrough", () => {
render(
<Kbd data-foo="bar" data-testid="kbd">
<Kbd.Content>Esc</Kbd.Content>
</Kbd>,
);
expect(screen.getByTestId("kbd")).toHaveAttribute("data-foo", "bar");
});
});