binding_spec.js 771 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. var Binding = require('../../../src/binding')
  2. describe('Binding', function () {
  3. var b
  4. beforeEach(function () {
  5. b = new Binding()
  6. })
  7. it('addChild', function () {
  8. var child = new Binding()
  9. b._addChild('test', child)
  10. expect(b.test).toBe(child)
  11. })
  12. it('addSub', function () {
  13. var sub = {}
  14. b._addSub(sub)
  15. expect(b._subs.length).toBe(1)
  16. expect(b._subs.indexOf(sub)).toBe(0)
  17. })
  18. it('removeSub', function () {
  19. var sub = {}
  20. b._addSub(sub)
  21. b._removeSub(sub)
  22. expect(b._subs.length).toBe(0)
  23. expect(b._subs.indexOf(sub)).toBe(-1)
  24. })
  25. it('notify', function () {
  26. var sub = {
  27. update: jasmine.createSpy('sub')
  28. }
  29. b._addSub(sub)
  30. b._notify()
  31. expect(sub.update).toHaveBeenCalled()
  32. })
  33. })