openpencil/packages/fig/tests/canvas-guides.test.ts

32 lines
1 KiB
TypeScript
Raw Normal View History

import { describe, expect, test } from 'bun:test'
import { exportCanvasGuides, importCanvasGuides } from '@open-pencil/fig/node-change'
const guid = { sessionID: 123, localID: 456 }
describe('Figma canvas guide conversion', () => {
test('imports axis, owner-local offset, and binary GUID', () => {
expect(importCanvasGuides([{ axis: 'X', offset: 42, guid }])).toEqual([
{ id: 'fig-guide:123:456', axis: 'x', position: 42, figGuid: guid }
])
})
test('rejects malformed Figma guide GUIDs', () => {
expect(
importCanvasGuides([{ axis: 'X', offset: 10, guid: { sessionID: 'bad', localID: null } }])
).toEqual([{ id: 'guide:0', axis: 'x', position: 10 }])
})
test('exports preserved GUID and allocates no format-specific fallback', () => {
expect(
exportCanvasGuides([
{ id: 'fig-guide:123:456', axis: 'y', position: 84, figGuid: guid },
{ id: 'guide:new', axis: 'x', position: 12 }
])
).toEqual([
{ axis: 'Y', offset: 84, guid },
{ axis: 'X', offset: 12 }
])
})
})