36 lines
956 B
TypeScript
36 lines
956 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { markdownNodeContainsType } from "./markdown-ast";
|
|
|
|
describe("markdownNodeContainsType", () => {
|
|
it("matches the node itself", () => {
|
|
expect(markdownNodeContainsType({ type: "image", children: [] }, "image")).toBe(true);
|
|
});
|
|
|
|
it("matches descendants", () => {
|
|
const paragraph = {
|
|
type: "paragraph",
|
|
children: [
|
|
{ type: "text", children: [] },
|
|
{
|
|
type: "link",
|
|
children: [{ type: "image", children: [] }],
|
|
},
|
|
],
|
|
};
|
|
|
|
expect(markdownNodeContainsType(paragraph, "image")).toBe(true);
|
|
});
|
|
|
|
it("returns false when the type is absent", () => {
|
|
const paragraph = {
|
|
type: "paragraph",
|
|
children: [
|
|
{ type: "text", children: [] },
|
|
{ type: "strong", children: [{ type: "text", children: [] }] },
|
|
],
|
|
};
|
|
|
|
expect(markdownNodeContainsType(paragraph, "image")).toBe(false);
|
|
});
|
|
});
|