import { installPointerEvent } from "@kobalte/tests"; import { render } from "@solidjs/testing-library"; import * as Link from "."; describe("Link", () => { installPointerEvent(); it("should not have attribute 'role=link' when it's a native link", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).not.toHaveAttribute("role", "link"); }); it("should have attribute 'role=link' when it's not a native link", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).toHaveAttribute("role", "link"); }); it("should have attribute 'tabindex=0' when it's not a native link and is not disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).toHaveAttribute("tabindex", "0"); }); it("should not have attribute 'tabindex=0' when it's a native link ", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).not.toHaveAttribute("tabindex", "0"); }); it("should not have attribute 'data-disabled' by default", async () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).not.toHaveAttribute("data-disabled"); }); it("should have attribute 'role=link' when disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).toHaveAttribute("role", "link"); }); it("should not have attribute 'href' when disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).not.toHaveAttribute("href"); }); it("should not have attribute 'tabindex=0' when it's disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).not.toHaveAttribute("tabindex", "0"); }); it("should have attribute 'aria-disabled=true' when disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).toHaveAttribute("aria-disabled", "true"); }); it("should have attribute 'data-disabled' when disabled", () => { const { getByTestId } = render(() => ( Link )); const link = getByTestId("link"); expect(link).toHaveAttribute("data-disabled"); }); });