expect(dummy).toMatchObject([1, 0])
})
+ it('watching single source: array', async () => {
+ const array = reactive([] as number[])
+ const spy = jest.fn()
+ watch(array, spy)
+ array.push(1)
+ await nextTick()
+ expect(spy).toBeCalledTimes(1)
+ expect(spy).toBeCalledWith([1], expect.anything(), expect.anything())
+ })
+
it('watching single source: computed ref', async () => {
const count = ref(0)
const plus = computed(() => count.value + 1)
}
let getter: () => any
- if (isArray(source)) {
+ if (isRef(source)) {
+ getter = () => source.value
+ } else if (isReactive(source)) {
+ getter = () => source
+ deep = true
+ } else if (isArray(source)) {
getter = () =>
source.map(s => {
if (isRef(s)) {
__DEV__ && warnInvalidSource(s)
}
})
- } else if (isRef(source)) {
- getter = () => source.value
- } else if (isReactive(source)) {
- getter = () => source
- deep = true
} else if (isFunction(source)) {
if (cb) {
// getter with cb