import { cleanup, getItems, sandbox, waitEvent } from "./utils/utils"; import InfiniteGrid from "../../src/InfiniteGrid"; import { MasonryInfiniteGrid } from "../../src/grids/MasonryInfiniteGrid"; import { JustifiedInfiniteGrid } from "../../src/grids/JustifiedInfiniteGrid"; import { FrameInfiniteGrid } from "../../src/grids/FrameInfiniteGrid"; import { PackingInfiniteGrid } from "../../src/grids/PackingInfiniteGrid"; describe("test 4 grids", () => { let ig: InfiniteGrid | null; let container: HTMLElement | null; beforeEach(() => { container = sandbox("")!; container!.style.cssText = ""; }); afterEach(() => { if (ig) { ig!.destroy(); } ig = null; container = null; cleanup(); }); [ { name: "MasonryInfiniteGrid", GridConstructor: MasonryInfiniteGrid, options: { columnSize: 100, }, }, { name: "JustifiedInfiniteGrid", GridConstructor: JustifiedInfiniteGrid, options: {}, }, { name: "FrameInfiniteGrid", GridConstructor: FrameInfiniteGrid, options: { frames: [ [1, 2, 3, 0, 0], [0, 0, 0, 4, 5], ], }, }, { name: "PackingInfiniteGrid", GridConstructor: PackingInfiniteGrid, options: {}, }, ].forEach((type) => { it(`should check if outlines are connected to each other (${type.name})`, async () => { // Given container!.innerHTML = `
`; const wrapper = container!.querySelector