27 lines
916 B
TypeScript
27 lines
916 B
TypeScript
import { render, screen } from "@testing-library/react";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
import { Skeleton } from "./skeleton";
|
|
|
|
describe("Skeleton", () => {
|
|
it("renders as an aria-hidden placeholder with root slot", () => {
|
|
render(<Skeleton data-testid="skeleton" />);
|
|
|
|
const skeleton = screen.getByTestId("skeleton");
|
|
|
|
expect(skeleton).toHaveAttribute("data-slot", "root");
|
|
expect(skeleton).toHaveAttribute("data-shape", "line");
|
|
expect(skeleton).toHaveAttribute("data-tone", "default");
|
|
expect(skeleton).toHaveAttribute("aria-hidden", "true");
|
|
});
|
|
|
|
it("supports alternate shape and tone hooks", () => {
|
|
render(<Skeleton data-testid="skeleton" shape="avatar" tone="muted" />);
|
|
|
|
const skeleton = screen.getByTestId("skeleton");
|
|
|
|
expect(skeleton).toHaveAttribute("data-shape", "avatar");
|
|
expect(skeleton).toHaveAttribute("data-tone", "muted");
|
|
});
|
|
});
|