@@ -405,6 +405,39 @@ describe('vnode', () => {
405
405
} ) )
406
406
expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
407
407
} )
408
+
409
+ test ( 'openBlock w/ disableTracking: true' , ( ) => {
410
+ const hoist = createVNode ( 'div' )
411
+ let vnode1
412
+ const vnode = ( openBlock ( ) ,
413
+ createBlock ( 'div' , null , [
414
+ // a v-for fragment block generated by the compiler
415
+ // disables tracking because it always diffs its
416
+ // children.
417
+ ( vnode1 = ( openBlock ( true ) ,
418
+ createBlock ( Fragment , null , [
419
+ hoist ,
420
+ /*vnode2*/ createVNode ( ( ) => { } , null , 'text' )
421
+ ] ) ) )
422
+ ] ) )
423
+ expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
424
+ expect ( vnode1 . dynamicChildren ) . toStrictEqual ( [ ] )
425
+ } )
426
+
427
+ test ( 'openBlock without disableTracking: true' , ( ) => {
428
+ const hoist = createVNode ( 'div' )
429
+ let vnode1 , vnode2
430
+ const vnode = ( openBlock ( ) ,
431
+ createBlock ( 'div' , null , [
432
+ ( vnode1 = ( openBlock ( ) ,
433
+ createBlock ( Fragment , null , [
434
+ hoist ,
435
+ ( vnode2 = createVNode ( ( ) => { } , null , 'text' ) )
436
+ ] ) ) )
437
+ ] ) )
438
+ expect ( vnode . dynamicChildren ) . toStrictEqual ( [ vnode1 ] )
439
+ expect ( vnode1 . dynamicChildren ) . toStrictEqual ( [ vnode2 ] )
440
+ } )
408
441
} )
409
442
410
443
describe ( 'transformVNodeArgs' , ( ) => {
0 commit comments