openpencil/tests/engine/io/fig/import/legacy/arc/data.test.ts
2026-05-16 11:59:02 +03:00

46 lines
1.2 KiB
TypeScript

import { describe, expect, test } from 'bun:test'
import { importNodeChanges } from '@open-pencil/core'
import { expectDefined } from '#tests/helpers/assert'
import { canvas, doc, node } from '../helpers'
describe('fig-import: arc data', () => {
test('partial ellipse', () => {
const graph = importNodeChanges([
doc(),
canvas(),
node('ELLIPSE', 10, 1, {
arcData: {
startingAngle: 0,
endingAngle: Math.PI,
innerRadius: 0
}
} as Partial<NodeChange>)
])
const n = graph.getChildren(graph.getPages()[0].id)[0]
expect(n.arcData).toBeDefined()
const arcData = expectDefined(n.arcData, 'ellipse arc data')
expect(arcData.startingAngle).toBe(0)
expect(arcData.endingAngle).toBeCloseTo(Math.PI)
expect(arcData.innerRadius).toBe(0)
})
test('donut (inner radius)', () => {
const graph = importNodeChanges([
doc(),
canvas(),
node('ELLIPSE', 10, 1, {
arcData: {
startingAngle: 0,
endingAngle: Math.PI * 2,
innerRadius: 0.5
}
} as Partial<NodeChange>)
])
const n = graph.getChildren(graph.getPages()[0].id)[0]
expect(n.arcData?.innerRadius).toBe(0.5)
})
})