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, "");
});
});