Skip to content

Commit d04417d

Browse files
authored
test(effect): verify cleanupEffect clears multiple dependencies (#9503)
close #5541
1 parent 71c2c0a commit d04417d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

packages/reactivity/__tests__/effect.spec.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,31 @@ describe('reactivity/effect', () => {
846846
expect(dummy).toBe(3)
847847
})
848848

849+
it('stop with multiple dependencies', () => {
850+
let dummy1, dummy2
851+
const obj1 = reactive({ prop: 1 })
852+
const obj2 = reactive({ prop: 1 })
853+
const runner = effect(() => {
854+
dummy1 = obj1.prop
855+
dummy2 = obj2.prop
856+
})
857+
858+
obj1.prop = 2
859+
expect(dummy1).toBe(2)
860+
861+
obj2.prop = 3
862+
expect(dummy2).toBe(3)
863+
864+
stop(runner)
865+
866+
obj1.prop = 4
867+
obj2.prop = 5
868+
869+
// Check that both dependencies have been cleared
870+
expect(dummy1).toBe(2)
871+
expect(dummy2).toBe(3)
872+
})
873+
849874
it('events: onStop', () => {
850875
const onStop = vi.fn()
851876
const runner = effect(() => {}, {

0 commit comments

Comments
 (0)