kopia lustrzana https://github.com/Tldraw/Tldraw
76 wiersze
2.0 KiB
TypeScript
76 wiersze
2.0 KiB
TypeScript
import { createShapeId, PageRecordType } from '@tldraw/editor'
|
|
import { TestEditor } from './TestEditor'
|
|
|
|
let editor = {} as TestEditor
|
|
|
|
beforeEach(() => {
|
|
editor = new TestEditor()
|
|
})
|
|
|
|
const ids = {
|
|
box1: createShapeId('box1'),
|
|
box2: createShapeId('box2'),
|
|
box3: createShapeId('box3'),
|
|
|
|
box4: createShapeId('box4'),
|
|
box5: createShapeId('box5'),
|
|
box6: createShapeId('box6'),
|
|
}
|
|
|
|
describe('shapeIdsInCurrentPage', () => {
|
|
it('keeps the shape ids in the current page', () => {
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([]))
|
|
editor.createShapes([{ type: 'geo', id: ids.box1 }])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([ids.box1]))
|
|
|
|
editor.createShapes([{ type: 'geo', id: ids.box2 }])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([ids.box1, ids.box2]))
|
|
|
|
editor.createShapes([{ type: 'geo', id: ids.box3 }])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(
|
|
new Set([ids.box1, ids.box2, ids.box3])
|
|
)
|
|
|
|
editor.deleteShapes([ids.box2])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([ids.box1, ids.box3]))
|
|
|
|
editor.deleteShapes([ids.box1])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([ids.box3]))
|
|
|
|
editor.deleteShapes([ids.box3])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(new Set([]))
|
|
})
|
|
|
|
it('changes when the current page changes', () => {
|
|
editor.createShapes([
|
|
{ type: 'geo', id: ids.box1 },
|
|
{ type: 'geo', id: ids.box2 },
|
|
{ type: 'geo', id: ids.box3 },
|
|
])
|
|
const id = PageRecordType.createId('page2')
|
|
editor.createPage({ name: 'New Page 2', id })
|
|
editor.setCurrentPage(id)
|
|
editor.createShapes([
|
|
{ type: 'geo', id: ids.box4 },
|
|
{ type: 'geo', id: ids.box5 },
|
|
{ type: 'geo', id: ids.box6 },
|
|
])
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(
|
|
new Set([ids.box4, ids.box5, ids.box6])
|
|
)
|
|
|
|
editor.setCurrentPage(editor.getPages()[0].id)
|
|
|
|
expect(new Set(editor.getCurrentPageShapeIds())).toEqual(
|
|
new Set([ids.box1, ids.box2, ids.box3])
|
|
)
|
|
})
|
|
})
|