test(reactivity): test case for #6358 (#6376)

This commit is contained in:
lidlanca 2024-08-29 02:20:04 -04:00 committed by GitHub
parent 313e4bf552
commit 1d988b5b99
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 26 additions and 0 deletions

View File

@ -43,6 +43,32 @@ describe('reactivity/ref', () => {
expect(fn).toHaveBeenCalledTimes(2)
})
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++
dummy = b.value // this will observe both b.value and a.value access
})
expect(calls).toBe(1)
expect(dummy).toBe(1)
// mutating a.value should only trigger effect once
calls = 0
a.value = 3
expect(calls).toBe(1)
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(dummy).toBe(5)
})
it('should make nested properties reactive', () => {
const a = ref({
count: 1,