github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/public/libs/vue-1.0.24/test/unit/specs/observer/dep_spec.js (about)

     1  var Dep = require('src/observer/dep')
     2  
     3  describe('Dep', function () {
     4    var d
     5    beforeEach(function () {
     6      d = new Dep()
     7    })
     8  
     9    it('addSub', function () {
    10      var sub = {}
    11      d.addSub(sub)
    12      expect(d.subs.length).toBe(1)
    13      expect(d.subs.indexOf(sub)).toBe(0)
    14    })
    15  
    16    it('removeSub', function () {
    17      var sub = {}
    18      d.addSub(sub)
    19      d.removeSub(sub)
    20      expect(d.subs.length).toBe(0)
    21      expect(d.subs.indexOf(sub)).toBe(-1)
    22    })
    23  
    24    it('notify', function () {
    25      var sub = {
    26        update: jasmine.createSpy('sub')
    27      }
    28      d.addSub(sub)
    29      d.notify()
    30      expect(sub.update).toHaveBeenCalled()
    31    })
    32  })