Last active
November 9, 2015 12:22
-
-
Save Hotell/5699a467039c30194a0f to your computer and use it in GitHub Desktop.
jqLite#triggerHandler
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// jqLite triggerHandler api | |
// dummy controller | |
function Ctrl(){ | |
this.clickMeBro = function(){ | |
}; | |
this.enterMeYo = function(event){ | |
var keyCode = event.which || event.keyCode; | |
if(keyCode === 32 || keyCode === 13){ | |
$log.info('you are inside MO!'); | |
} | |
} | |
} | |
var ctrl = new Ctrl(); | |
// trigger some event on specific jqLite object | |
sinon.spy(ctrl,'clickMeBro'); | |
sinon.spy(ctrl,'enterMeYo'); | |
var element = $compile(angular.element('<div ng-click="ctrl.clickMeBro()" ng-keydown="ctrl.enterMeYo($event)"> He yo! click me Bro! </div>'))($rootScope); | |
// simulate mouse click/touch | |
element.triggerHandler('click'); | |
expect(ctrl.clickMeBro).to.have.been.called; | |
// simulate ENTER keydown | |
element.triggerHandler({ type: 'keydown', which: 32, keyCode: 13}); | |
expect(ctrl.clickMeBro).to.have.been.calledWith({which:32,keyCode:13}); | |
expect($log.$info[0).to.equal('you are inside MO!') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment