mirror of https://github.com/vuejs/core.git
test(reactive): use vitest fn instead of counting manually (#11746)
This commit is contained in:
parent
0387e1b906
commit
3de5556521
|
@ -46,26 +46,22 @@ describe('reactivity/ref', () => {
|
|||
it('ref wrapped in reactive should not track internal _value access', () => {
|
||||
const a = ref(1)
|
||||
const b = reactive(a)
|
||||
let calls = 0
|
||||
let dummy
|
||||
|
||||
effect(() => {
|
||||
calls++
|
||||
const fn = vi.fn(() => {
|
||||
dummy = b.value // this will observe both b.value and a.value access
|
||||
})
|
||||
expect(calls).toBe(1)
|
||||
effect(fn)
|
||||
expect(fn).toHaveBeenCalledTimes(1)
|
||||
expect(dummy).toBe(1)
|
||||
|
||||
// mutating a.value should only trigger effect once
|
||||
calls = 0
|
||||
a.value = 3
|
||||
expect(calls).toBe(1)
|
||||
expect(fn).toHaveBeenCalledTimes(2)
|
||||
expect(dummy).toBe(3)
|
||||
|
||||
// mutating b.value should trigger the effect twice. (once for a.value change and once for b.value change)
|
||||
calls = 0
|
||||
b.value = 5
|
||||
expect(calls).toBe(2)
|
||||
expect(fn).toHaveBeenCalledTimes(4)
|
||||
expect(dummy).toBe(5)
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue