@@ -106,31 +106,43 @@ describe('vnode', () => {
106106 const vnode = createVNode ( 'p' , null , [ 'foo' ] )
107107 expect ( vnode . children ) . toMatchObject ( [ 'foo' ] )
108108 expect ( vnode . shapeFlag ) . toBe (
109- ShapeFlags . ELEMENT + ShapeFlags . ARRAY_CHILDREN
109+ ShapeFlags . ELEMENT | ShapeFlags . ARRAY_CHILDREN
110110 )
111111 } )
112112
113113 test ( 'object' , ( ) => {
114114 const vnode = createVNode ( 'p' , null , { foo : 'foo' } )
115115 expect ( vnode . children ) . toMatchObject ( { foo : 'foo' } )
116116 expect ( vnode . shapeFlag ) . toBe (
117- ShapeFlags . ELEMENT + ShapeFlags . SLOTS_CHILDREN
117+ ShapeFlags . ELEMENT | ShapeFlags . SLOTS_CHILDREN
118118 )
119119 } )
120120
121121 test ( 'function' , ( ) => {
122122 const vnode = createVNode ( 'p' , null , nop )
123123 expect ( vnode . children ) . toMatchObject ( { default : nop } )
124124 expect ( vnode . shapeFlag ) . toBe (
125- ShapeFlags . ELEMENT + ShapeFlags . SLOTS_CHILDREN
125+ ShapeFlags . ELEMENT | ShapeFlags . SLOTS_CHILDREN
126126 )
127127 } )
128128
129129 test ( 'string' , ( ) => {
130130 const vnode = createVNode ( 'p' , null , 'foo' )
131131 expect ( vnode . children ) . toBe ( 'foo' )
132132 expect ( vnode . shapeFlag ) . toBe (
133- ShapeFlags . ELEMENT + ShapeFlags . TEXT_CHILDREN
133+ ShapeFlags . ELEMENT | ShapeFlags . TEXT_CHILDREN
134+ )
135+ } )
136+
137+ test ( 'element with slots' , ( ) => {
138+ const children = [ createVNode ( 'span' , null , 'hello' ) ]
139+ const vnode = createVNode ( 'div' , null , {
140+ default : ( ) => children
141+ } )
142+
143+ expect ( vnode . children ) . toBe ( children )
144+ expect ( vnode . shapeFlag ) . toBe (
145+ ShapeFlags . ELEMENT | ShapeFlags . ARRAY_CHILDREN
134146 )
135147 } )
136148 } )
0 commit comments