Evan You 9 лет назад
Родитель
Сommit
751b0c87a4
1 измененных файлов с 16 добавлено и 18 удалено
  1. 16 18
      test/unit/modules/observer/watcher.spec.js

+ 16 - 18
test/unit/modules/observer/watcher.spec.js

@@ -61,27 +61,15 @@ describe('Watcher', () => {
 
   it('path containing $data', done => {
     const watcher = new Watcher(vm, '$data.b.c', spy)
-    expect(watcher.value).toBeUndefined()
+    expect(watcher.value).toBe(2)
     vm.b = { c: 3 }
     waitForUpdate(() => {
-      expect(watcher.value).toBeUndefined()
-      expect(spy).not.toHaveBeenCalledWith(3, 2)
-      vm.$data = { b: { c: 4 }}
+      expect(watcher.value).toBe(3)
+      expect(spy).toHaveBeenCalledWith(3, 2)
+      vm.$data.b.c = 4
     }).then(() => {
-      expect(watcher.value).toBeUndefined()
-      expect(spy).not.toHaveBeenCalledWith(4, 3)
-    }).then(done)
-  })
-
-  it('not watching $data', done => {
-    const oldData = vm.$data
-    const watcher = new Watcher(vm, '$data', spy)
-    expect(watcher.value).toBeUndefined()
-    const newData = {}
-    vm.$data = newData
-    waitForUpdate(() => {
-      expect(spy).not.toHaveBeenCalledWith(newData, oldData)
-      expect(watcher.value).toBeUndefined()
+      expect(watcher.value).toBe(4)
+      expect(spy).toHaveBeenCalledWith(4, 3)
     }).then(done)
   })
 
@@ -105,6 +93,16 @@ describe('Watcher', () => {
     }).then(done)
   })
 
+  it('deep watch $data', done => {
+    new Watcher(vm, '$data', spy, {
+      deep: true
+    })
+    vm.b.c = 3
+    waitForUpdate(() => {
+      expect(spy).toHaveBeenCalledWith(vm.$data, vm.$data)
+    }).then(done)
+  })
+
   it('deep watch with circular references', done => {
     new Watcher(vm, 'b', spy, {
       deep: true