import { describe, expect, it } from "vitest";
import { buildCompositionCensus, renderCompositionCensusBlock } from "./compositionCensus.js";
const MINIMAL_HTML = `
`;
const RICH_HTML = `
`;
describe("buildCompositionCensus", () => {
it("counts zero media on a minimal composition", () => {
const c = buildCompositionCensus(MINIMAL_HTML);
expect(c.elementCensus).toEqual({
video: 0,
audio: 0,
img: 0,
svg: 0,
canvas: 0,
subCompositionMounts: 0,
});
expect(c.timelineShape.nested).toBe(false);
expect(c.timelineShape.subCompositionCount).toBe(0);
expect(c.timelineShape.usesGsap).toBe(false);
expect(c.timelineShape.usesDataTimeline).toBe(true);
});
it("counts each element category on a rich composition", () => {
const c = buildCompositionCensus(RICH_HTML);
expect(c.elementCensus).toEqual({
video: 2,
audio: 1,
img: 3,
svg: 1,
canvas: 1,
subCompositionMounts: 2,
});
});
it("detects structural attributes from both inline style and