fix(reactivity): ensure readonly on plain arrays doesn't track array methods. (#2506)

fix #2493
This commit is contained in:
Thorsten Lünborg
2020-11-27 16:24:31 +01:00
committed by GitHub
parent 53f4885d9e
commit 34703082fd
2 changed files with 12 additions and 1 deletions

View File

@@ -375,6 +375,16 @@ describe('reactivity/readonly', () => {
expect(dummy).toBe(1)
})
test('readonly array should not track', () => {
const arr = [1]
const roArr = readonly(arr)
const eff = effect(() => {
roArr.includes(2)
})
expect(eff.deps.length).toBe(0)
})
test('readonly should track and trigger if wrapping reactive original (collection)', () => {
const a = reactive(new Map())
const b = readonly(a)