import { getDocument } from "ssr-window"; import assert from "node:assert"; import { describe, it } from "node:test"; import { StandaloneItem } from "./index"; class TStandalone extends StandaloneItem { isInitCalled = false; init() { this.isInitCalled = true; } } describe("StandaloneItem plugin", () => { it("calls init when element exists", async () => { const doc = getDocument(); doc.body.innerHTML = ""; const el = doc.createElement("div"); el.setAttribute("data-js-standalone-test", "{}"); doc.body.appendChild(el); const item = new TStandalone("[data-js-standalone-test]", {}); await new Promise((resolve) => queueMicrotask(() => resolve())); assert.equal(item.isInitCalled, true); }); });