|
|
@@ -63,6 +63,17 @@ describe('vnode', () => {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+ test('create from an existing text vnode', () => {
|
|
|
+ const vnode1 = createVNode('div', null, 'text', PatchFlags.TEXT)
|
|
|
+ const vnode2 = createVNode(vnode1)
|
|
|
+ expect(vnode2).toMatchObject({
|
|
|
+ type: 'div',
|
|
|
+ patchFlag: PatchFlags.BAIL,
|
|
|
+ children: 'text',
|
|
|
+ shapeFlag: ShapeFlags.ELEMENT | ShapeFlags.TEXT_CHILDREN,
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
test('vnode keys', () => {
|
|
|
for (const key of ['', 'a', 0, 1, NaN]) {
|
|
|
expect(createVNode('div', { key }).key).toBe(key)
|