@@ -106,31 +106,43 @@ describe('vnode', () => {
106
106
const vnode = createVNode ( 'p' , null , [ 'foo' ] )
107
107
expect ( vnode . children ) . toMatchObject ( [ 'foo' ] )
108
108
expect ( vnode . shapeFlag ) . toBe (
109
- ShapeFlags . ELEMENT + ShapeFlags . ARRAY_CHILDREN
109
+ ShapeFlags . ELEMENT | ShapeFlags . ARRAY_CHILDREN
110
110
)
111
111
} )
112
112
113
113
test ( 'object' , ( ) => {
114
114
const vnode = createVNode ( 'p' , null , { foo : 'foo' } )
115
115
expect ( vnode . children ) . toMatchObject ( { foo : 'foo' } )
116
116
expect ( vnode . shapeFlag ) . toBe (
117
- ShapeFlags . ELEMENT + ShapeFlags . SLOTS_CHILDREN
117
+ ShapeFlags . ELEMENT | ShapeFlags . SLOTS_CHILDREN
118
118
)
119
119
} )
120
120
121
121
test ( 'function' , ( ) => {
122
122
const vnode = createVNode ( 'p' , null , nop )
123
123
expect ( vnode . children ) . toMatchObject ( { default : nop } )
124
124
expect ( vnode . shapeFlag ) . toBe (
125
- ShapeFlags . ELEMENT + ShapeFlags . SLOTS_CHILDREN
125
+ ShapeFlags . ELEMENT | ShapeFlags . SLOTS_CHILDREN
126
126
)
127
127
} )
128
128
129
129
test ( 'string' , ( ) => {
130
130
const vnode = createVNode ( 'p' , null , 'foo' )
131
131
expect ( vnode . children ) . toBe ( 'foo' )
132
132
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
134
146
)
135
147
} )
136
148
} )
0 commit comments