46 lines
1.2 KiB
TypeScript
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)
|
|
})
|
|
})
|