diff options
| author | Andy Joslin | 2013-07-17 11:36:09 -0400 | 
|---|---|---|
| committer | Igor Minar | 2013-07-31 14:23:35 -0700 | 
| commit | bdd4e982b7fee9811b40b545c21a74711686875c (patch) | |
| tree | 77c1c98eca11ac8349ad9d360ebee1377dd8f938 /test | |
| parent | f274c0a66b28711d3b9cc7b0775e97755dd971e8 (diff) | |
| download | angular.js-bdd4e982b7fee9811b40b545c21a74711686875c.tar.bz2 | |
fix(jqLite): support space-seperated events in off
Closes #3256
Diffstat (limited to 'test')
| -rw-r--r-- | test/jqLiteSpec.js | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 92ccc2a8..e74c09a5 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -947,6 +947,31 @@ describe('jqLite', function() {      }); +    it('should deregister all listeners for types separated by spaces', function() { +      var aElem = jqLite(a), +          clickSpy = jasmine.createSpy('click'), +          mouseoverSpy = jasmine.createSpy('mouseover'); + +      aElem.on('click', clickSpy); +      aElem.on('mouseover', mouseoverSpy); + +      browserTrigger(a, 'click'); +      expect(clickSpy).toHaveBeenCalledOnce(); +      browserTrigger(a, 'mouseover'); +      expect(mouseoverSpy).toHaveBeenCalledOnce(); + +      clickSpy.reset(); +      mouseoverSpy.reset(); + +      aElem.off('click mouseover'); + +      browserTrigger(a, 'click'); +      expect(clickSpy).not.toHaveBeenCalled(); +      browserTrigger(a, 'mouseover'); +      expect(mouseoverSpy).not.toHaveBeenCalled(); +    }); + +      it('should deregister specific listener', function() {        var aElem = jqLite(a),            clickSpy1 = jasmine.createSpy('click1'), @@ -974,6 +999,32 @@ describe('jqLite', function() {        browserTrigger(a, 'click');        expect(clickSpy2).not.toHaveBeenCalled();      }); + + +    it('should deregister specific listener for multiple types separated by spaces', function() { +      var aElem = jqLite(a), +          masterSpy = jasmine.createSpy('master'), +          extraSpy = jasmine.createSpy('extra'); + +      aElem.on('click', masterSpy); +      aElem.on('click', extraSpy); +      aElem.on('mouseover', masterSpy); + +      browserTrigger(a, 'click'); +      browserTrigger(a, 'mouseover'); +      expect(masterSpy.callCount).toBe(2); +      expect(extraSpy).toHaveBeenCalledOnce(); + +      masterSpy.reset(); +      extraSpy.reset(); + +      aElem.off('click mouseover', masterSpy); + +      browserTrigger(a, 'click'); +      browserTrigger(a, 'mouseover'); +      expect(masterSpy).not.toHaveBeenCalled(); +      expect(extraSpy).toHaveBeenCalledOnce(); +    });    }); | 
