@@ -482,8 +482,12 @@ describe('reactivity/computed', () => {
482482 c3 . value
483483
484484 expect ( c1 . effect . _dirtyLevel ) . toBe ( DirtyLevels . Dirty )
485- expect ( c2 . effect . _dirtyLevel ) . toBe ( DirtyLevels . MaybeDirty )
486- expect ( c3 . effect . _dirtyLevel ) . toBe ( DirtyLevels . MaybeDirty )
485+ expect ( c2 . effect . _dirtyLevel ) . toBe (
486+ DirtyLevels . MaybeDirty_ComputedSideEffect ,
487+ )
488+ expect ( c3 . effect . _dirtyLevel ) . toBe (
489+ DirtyLevels . MaybeDirty_ComputedSideEffect ,
490+ )
487491 } )
488492
489493 it ( 'should work when chained(ref+computed)' , ( ) => {
@@ -550,8 +554,12 @@ describe('reactivity/computed', () => {
550554
551555 c3 . value
552556 expect ( c1 . effect . _dirtyLevel ) . toBe ( DirtyLevels . Dirty )
553- expect ( c2 . effect . _dirtyLevel ) . toBe ( DirtyLevels . MaybeDirty )
554- expect ( c3 . effect . _dirtyLevel ) . toBe ( DirtyLevels . MaybeDirty )
557+ expect ( c2 . effect . _dirtyLevel ) . toBe (
558+ DirtyLevels . MaybeDirty_ComputedSideEffect ,
559+ )
560+ expect ( c3 . effect . _dirtyLevel ) . toBe (
561+ DirtyLevels . MaybeDirty_ComputedSideEffect ,
562+ )
555563
556564 v1 . value . v . value = 999
557565 expect ( c1 . effect . _dirtyLevel ) . toBe ( DirtyLevels . Dirty )
@@ -581,4 +589,26 @@ describe('reactivity/computed', () => {
581589 await nextTick ( )
582590 expect ( serializeInner ( root ) ) . toBe ( `2` )
583591 } )
592+
593+ it ( 'should not trigger effect scheduler by recurse computed effect' , async ( ) => {
594+ const v = ref ( 'Hello' )
595+ const c = computed ( ( ) => {
596+ v . value += ' World'
597+ return v . value
598+ } )
599+ const Comp = {
600+ setup : ( ) => {
601+ return ( ) => c . value
602+ } ,
603+ }
604+ const root = nodeOps . createElement ( 'div' )
605+
606+ render ( h ( Comp ) , root )
607+ await nextTick ( )
608+ expect ( serializeInner ( root ) ) . toBe ( 'Hello World' )
609+
610+ v . value += ' World'
611+ await nextTick ( )
612+ expect ( serializeInner ( root ) ) . toBe ( 'Hello World World World World' )
613+ } )
584614} )
0 commit comments