import { cleanup, render, screen, } from "@testing-library/react"; import assert from "node:assert"; import { afterEach, describe, test, } from "node:test"; import { Loop } from "./index"; describe("Loop", () => { afterEach(() => { cleanup(); }); test("renders requested amount of children", () => { render( Item ); assert.strictEqual(screen.getAllByTestId("loop-item").length, 3); }); test("applies per-item custom props", () => { render( Title ); const nodes = screen.getAllByTestId("loop-title"); assert.strictEqual(nodes[0]?.getAttribute("title"), "first"); assert.strictEqual(nodes[1]?.getAttribute("title"), "second"); }); test("renders empty fragment when children are not provided", () => { const { container } = render(); assert.strictEqual(container.textContent, ""); }); });