vitest-browser-lit
Version:
Render Lit components in Vitest Browser Mode
40 lines (38 loc) • 932 B
JavaScript
// src/pure.ts
import { debug, getElementLocatorSelectors } from "@vitest/browser/utils";
import { render as litRender } from "lit";
var containers = /* @__PURE__ */ new Set();
function render(template, {
baseElement = document.body,
container = baseElement.appendChild(document.createElement("div")),
...options
} = {}) {
containers.add(container);
litRender(template, container, options);
return {
container,
baseElement,
debug,
unmount() {
containers.delete(container);
container.remove();
},
rerender(newTemplate) {
litRender(newTemplate, container, options);
},
asFragment() {
return document.createRange().createContextualFragment(container.innerHTML);
},
...getElementLocatorSelectors(container)
};
}
function cleanup() {
for (const container of containers) {
container.remove();
}
containers.clear();
}
export {
render,
cleanup
};