import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
import * as ActionBarMorePrimitive from "./actionBarMore";
import * as ThreadListItemMorePrimitive from "./threadListItemMore";
describe("dropdown menu primitive render props", () => {
it.each([
[
"ActionBarMorePrimitive.Trigger",
ActionBarMorePrimitive.Root,
ActionBarMorePrimitive.Trigger,
],
[
"ThreadListItemMorePrimitive.Trigger",
ThreadListItemMorePrimitive.Root,
ThreadListItemMorePrimitive.Trigger,
],
])("%s render matches asChild", (_name, Root, Trigger) => {
const renderHtml = renderToStaticMarkup(
}>
More
,
);
const asChildHtml = renderToStaticMarkup(
,
);
expect(renderHtml).toBe(asChildHtml);
});
it("accepts render on all affected dropdown menu primitives", () => {
const actionBarTree = (
} />
} />
} />
} />
);
const threadListItemTree = (
}
/>
} />
} />
} />
);
expect(actionBarTree).toBeTruthy();
expect(threadListItemTree).toBeTruthy();
});
});