import { render, screen } from "@solidjs/testing-library"; import { describe, expect, it } from "vitest"; import { Meter } from "../../../src/components/meter/index"; describe("Meter", () => { it("has role=meter", () => { render(() => ); expect(screen.getByRole("meter")).toBeTruthy(); }); it("sets aria-valuenow", () => { render(() => ); expect(screen.getByRole("meter").getAttribute("aria-valuenow")).toBe("75"); }); it("sets min and max", () => { render(() => ); const el = screen.getByRole("meter"); expect(el.getAttribute("aria-valuemin")).toBe("0"); expect(el.getAttribute("aria-valuemax")).toBe("10"); }); it("uses custom getValueLabel", () => { render(() => `${v}/${m}`} />); expect(screen.getByRole("meter").getAttribute("aria-valuetext")).toBe("75/100"); }); it("has data-value", () => { render(() => ); expect(screen.getByTestId("m").getAttribute("data-value")).toBe("50"); }); });