import assert from "node:assert/strict" import { describe, it } from "node:test" import { buildParagraphSpacingStyle, DOCS_LINE_HEIGHT_PRESETS, lineHeightPresetId, parseSpacingPt, } from "./docs-line-spacing.ts" describe("docs-line-spacing", () => { it("maps preset ids", () => { assert.equal(lineHeightPresetId(1.15), "1.15") assert.equal(lineHeightPresetId(1.3), "custom") assert.equal(lineHeightPresetId(null), null) }) it("parses spacing pt", () => { assert.equal(parseSpacingPt("12"), 12) assert.equal(parseSpacingPt("-1"), 0) }) it("builds spacing style", () => { const style = buildParagraphSpacingStyle({ lineHeight: DOCS_LINE_HEIGHT_PRESETS[1].value, spaceBeforePt: 12, spaceAfterPt: 0, keepWithNext: true, keepLinesTogether: false, preventWidowOrphan: true, pageBreakBefore: false, }) assert.match(style, /line-height: 1\.15/) assert.match(style, /margin-top: 12pt/) assert.match(style, /break-after: avoid/) assert.match(style, /orphans: 2/) }) })