test(effect): verify cleanupEffect clears multiple dependencies (#9503)

close #5541
This commit is contained in:
Tycho 2024-06-06 17:52:01 +08:00 committed by GitHub
parent 71c2c0af74
commit d04417da41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 25 additions and 0 deletions

View File

@ -846,6 +846,31 @@ describe('reactivity/effect', () => {
expect(dummy).toBe(3) expect(dummy).toBe(3)
}) })
it('stop with multiple dependencies', () => {
let dummy1, dummy2
const obj1 = reactive({ prop: 1 })
const obj2 = reactive({ prop: 1 })
const runner = effect(() => {
dummy1 = obj1.prop
dummy2 = obj2.prop
})
obj1.prop = 2
expect(dummy1).toBe(2)
obj2.prop = 3
expect(dummy2).toBe(3)
stop(runner)
obj1.prop = 4
obj2.prop = 5
// Check that both dependencies have been cleared
expect(dummy1).toBe(2)
expect(dummy2).toBe(3)
})
it('events: onStop', () => { it('events: onStop', () => {
const onStop = vi.fn() const onStop = vi.fn()
const runner = effect(() => {}, { const runner = effect(() => {}, {