From a9f15a7552264117f538ebc0a74cf688a51a0390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LeoYuan=20=E8=A2=81=E5=8A=9B=E7=9A=93?= Date: Tue, 9 Aug 2022 20:02:04 +0800 Subject: [PATCH] test: add some test cases --- .../src/document/node/node-children.ts | 3 ++ .../tests/document/node/node-children.test.ts | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/packages/designer/src/document/node/node-children.ts b/packages/designer/src/document/node/node-children.ts index 244517780..728df7cb8 100644 --- a/packages/designer/src/document/node/node-children.ts +++ b/packages/designer/src/document/node/node-children.ts @@ -161,6 +161,7 @@ export class NodeChildren { } } const { document } = node; + /* istanbul ignore next */ if (globalContext.has('editor')) { globalContext.get('editor').emit('node.remove', { node, index: i }); } @@ -197,6 +198,7 @@ export class NodeChildren { const i = children.indexOf(node); if (node.parent) { + /* istanbul ignore next */ globalContext.has('editor') && globalContext.get('editor').emit('node.remove.topLevel', { node, @@ -229,6 +231,7 @@ export class NodeChildren { node, }); this.emitter.emit('insert', node); + /* istanbul ignore next */ if (globalContext.has('editor')) { globalContext.get('editor').emit('node.add', { node }); } diff --git a/packages/designer/tests/document/node/node-children.test.ts b/packages/designer/tests/document/node/node-children.test.ts index 8776f3bdd..c48c9e708 100644 --- a/packages/designer/tests/document/node/node-children.test.ts +++ b/packages/designer/tests/document/node/node-children.test.ts @@ -48,6 +48,42 @@ describe('NodeChildren 方法测试', () => { expect(children.export().length).toBe(2); }); + it('export - Leaf', () => { + const firstBtn = doc.getNode('node_k1ow3cbn')!; + firstBtn.parent!.insertAfter({ componentName: 'Leaf', children: 'haha' }); + const { children } = firstBtn.parent!; + + expect(children.export().length).toBe(3); + expect(children.export()[2]).toBe('haha'); + }); + + it('import', () => { + const firstBtn = doc.getNode('node_k1ow3cbn')!; + const { children } = firstBtn.parent!; + + children.import(children.export()); + + expect(children.export().length).toBe(2); + }); + + it('delete', () => { + const firstBtn = doc.getNode('node_k1ow3cbn')!; + const leafNode = doc.createNode({ componentName: 'Leaf', children: 'haha' }); + firstBtn.parent!.insertAfter(leafNode); + const { children } = firstBtn.parent!; + + children.delete(leafNode); + expect(children.export().length).toBe(2); + }); + + it('delete - 插入已有的节点', () => { + const firstBtn = doc.getNode('node_k1ow3cbn')!; + firstBtn.parent!.insertBefore(firstBtn, firstBtn); + const { children } = firstBtn.parent!; + + expect(children.export().length).toBe(2); + }); + it('purge / for of', () => { const firstBtn = doc.getNode('node_k1ow3cbn')!; const { children } = firstBtn.parent!;