@@ -232,7 +232,7 @@ describe('vnode', () => {
232
232
} )
233
233
234
234
describe ( 'dynamic children' , ( ) => {
235
- test ( 'single call openBlock ' , ( ) => {
235
+ test ( 'with patchFlags ' , ( ) => {
236
236
const hoist = createVNode ( 'div' )
237
237
let vnode1
238
238
const vnode = ( openBlock ( ) ,
@@ -259,5 +259,38 @@ describe('vnode', () => {
259
259
expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 , vnode2 ] )
260
260
expect ( vnode2 . dynamicChildren ) . toStrictEqual ( [ vnode3 ] )
261
261
} )
262
+
263
+ test ( 'with stateful component' , ( ) => {
264
+ const hoist = createVNode ( 'div' )
265
+ let vnode1
266
+ const vnode = ( openBlock ( ) ,
267
+ createBlock ( 'div' , null , [
268
+ hoist ,
269
+ ( vnode1 = createVNode ( { } , null , 'text' ) )
270
+ ] ) )
271
+ expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
272
+ } )
273
+
274
+ test ( 'with functional component' , ( ) => {
275
+ const hoist = createVNode ( 'div' )
276
+ let vnode1
277
+ const vnode = ( openBlock ( ) ,
278
+ createBlock ( 'div' , null , [
279
+ hoist ,
280
+ ( vnode1 = createVNode ( ( ) => { } , null , 'text' ) )
281
+ ] ) )
282
+ expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
283
+ } )
284
+
285
+ test ( 'with suspense' , ( ) => {
286
+ const hoist = createVNode ( 'div' )
287
+ let vnode1
288
+ const vnode = ( openBlock ( ) ,
289
+ createBlock ( 'div' , null , [
290
+ hoist ,
291
+ ( vnode1 = createVNode ( ( ) => { } , null , 'text' ) )
292
+ ] ) )
293
+ expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
294
+ } )
262
295
} )
263
296
} )
0 commit comments