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/jqLiteSpec.js | |
| parent | f274c0a66b28711d3b9cc7b0775e97755dd971e8 (diff) | |
| download | angular.js-bdd4e982b7fee9811b40b545c21a74711686875c.tar.bz2 | |
fix(jqLite): support space-seperated events in off
Closes #3256
Diffstat (limited to 'test/jqLiteSpec.js')
| -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(); + }); }); |
