openpencil/tests/engine/svg/export/helpers.ts
Danila Poyarkov 93d5370d7d test(svg): split SVG export coverage
- Move SVG builder, path, and render export tests into focused files
- Share SVG export helpers from tests/engine/svg/export/helpers.ts
- Remove svg export from max-lines exceptions
2026-05-06 12:57:54 +03:00

31 lines
958 B
TypeScript

import { SceneGraph, renderNodesToSVG } from '@open-pencil/core'
import { expectDefined } from '#tests/helpers/assert'
export function makeGraph() {
const graph = new SceneGraph()
graph.createNode('CANVAS', graph.rootId, { name: 'Page 1' })
return graph
}
export function pageId(graph: SceneGraph) {
return graph.getPages()[0].id
}
export function exportSVG(graph: SceneGraph, nodeIds: string[], xmlDecl = false): string | null {
return renderNodesToSVG(graph, pageId(graph), nodeIds, { xmlDeclaration: xmlDecl })
}
export function exportSVGOrThrow(graph: SceneGraph, nodeIds: string[], xmlDecl = false): string {
return expectDefined(exportSVG(graph, nodeIds, xmlDecl), 'SVG output')
}
export function renderNodesToSVGOrThrow(
graph: SceneGraph,
pageId: string,
nodeIds: string[],
options: Parameters<typeof renderNodesToSVG>[3]
): string {
return expectDefined(renderNodesToSVG(graph, pageId, nodeIds, options), 'SVG output')
}