@@ -947,6 +947,31 @@ describe('jqLite', function() {
947947 } ) ;
948948
949949
950+ it ( 'should deregister all listeners for types separated by spaces' , function ( ) {
951+ var aElem = jqLite ( a ) ,
952+ clickSpy = jasmine . createSpy ( 'click' ) ,
953+ mouseoverSpy = jasmine . createSpy ( 'mouseover' ) ;
954+
955+ aElem . on ( 'click' , clickSpy ) ;
956+ aElem . on ( 'mouseover' , mouseoverSpy ) ;
957+
958+ browserTrigger ( a , 'click' ) ;
959+ expect ( clickSpy ) . toHaveBeenCalledOnce ( ) ;
960+ browserTrigger ( a , 'mouseover' ) ;
961+ expect ( mouseoverSpy ) . toHaveBeenCalledOnce ( ) ;
962+
963+ clickSpy . reset ( ) ;
964+ mouseoverSpy . reset ( ) ;
965+
966+ aElem . off ( 'click mouseover' ) ;
967+
968+ browserTrigger ( a , 'click' ) ;
969+ expect ( clickSpy ) . not . toHaveBeenCalled ( ) ;
970+ browserTrigger ( a , 'mouseover' ) ;
971+ expect ( mouseoverSpy ) . not . toHaveBeenCalled ( ) ;
972+ } ) ;
973+
974+
950975 it ( 'should deregister specific listener' , function ( ) {
951976 var aElem = jqLite ( a ) ,
952977 clickSpy1 = jasmine . createSpy ( 'click1' ) ,
@@ -974,6 +999,32 @@ describe('jqLite', function() {
974999 browserTrigger ( a , 'click' ) ;
9751000 expect ( clickSpy2 ) . not . toHaveBeenCalled ( ) ;
9761001 } ) ;
1002+
1003+
1004+ it ( 'should deregister specific listener for multiple types separated by spaces' , function ( ) {
1005+ var aElem = jqLite ( a ) ,
1006+ masterSpy = jasmine . createSpy ( 'master' ) ,
1007+ extraSpy = jasmine . createSpy ( 'extra' ) ;
1008+
1009+ aElem . on ( 'click' , masterSpy ) ;
1010+ aElem . on ( 'click' , extraSpy ) ;
1011+ aElem . on ( 'mouseover' , masterSpy ) ;
1012+
1013+ browserTrigger ( a , 'click' ) ;
1014+ browserTrigger ( a , 'mouseover' ) ;
1015+ expect ( masterSpy . callCount ) . toBe ( 2 ) ;
1016+ expect ( extraSpy ) . toHaveBeenCalledOnce ( ) ;
1017+
1018+ masterSpy . reset ( ) ;
1019+ extraSpy . reset ( ) ;
1020+
1021+ aElem . off ( 'click mouseover' , masterSpy ) ;
1022+
1023+ browserTrigger ( a , 'click' ) ;
1024+ browserTrigger ( a , 'mouseover' ) ;
1025+ expect ( masterSpy ) . not . toHaveBeenCalled ( ) ;
1026+ expect ( extraSpy ) . toHaveBeenCalledOnce ( ) ;
1027+ } ) ;
9771028 } ) ;
9781029
9791030
0 commit comments