Skip to content

Instantly share code, notes, and snippets.

@Hotell
Last active November 9, 2015 12:22
Show Gist options
  • Save Hotell/5699a467039c30194a0f to your computer and use it in GitHub Desktop.
Save Hotell/5699a467039c30194a0f to your computer and use it in GitHub Desktop.
jqLite#triggerHandler
// 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