import assert from "node:assert/strict" import { describe, it } from "node:test" import { ensureMinimalTipTapDoc, isEmptyTipTapDoc } from "./richtext-content.ts" describe("richtext-content", () => { it("detects empty TipTap documents", () => { assert.equal(isEmptyTipTapDoc(undefined), true) assert.equal( isEmptyTipTapDoc({ type: "doc", content: [{ type: "paragraph" }] }), true ) assert.equal( isEmptyTipTapDoc({ type: "doc", content: [{ type: "paragraph", content: [{ type: "text", text: "Hello" }] }], }), false ) }) it("ensureMinimalTipTapDoc fills missing blocks", () => { assert.deepEqual(ensureMinimalTipTapDoc(undefined), { type: "doc", content: [{ type: "paragraph" }], }) assert.deepEqual(ensureMinimalTipTapDoc({ type: "doc", content: [] }), { type: "doc", content: [{ type: "paragraph" }], }) const existing = { type: "doc", content: [{ type: "paragraph" }] } assert.equal(ensureMinimalTipTapDoc(existing), existing) }) })