mirror of https://github.com/vuejs/core.git
test(effect): verify cleanupEffect clears multiple dependencies (#9503)
close #5541
This commit is contained in:
parent
71c2c0af74
commit
d04417da41
|
@ -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(() => {}, {
|
||||||
|
|
Loading…
Reference in New Issue