2014-10-20 5 views
2

Один из моих разработчиков написали код в JS файл, как это, используя позвоночник ..тест жасмина случаи с магистральной JS

define([],function(){ 
    var sampleFunction = Backbone.view.extend({ 

     initialize:function(){ 
      $('body').on('keypress', '#listItemName', function (ev) { 
       if (ev.keyCode === 13) { 
        $('#createList').click(); 
        return false; 
       } 
      }); 
     }, 
     events:{    
      "click #createList": "handleCreateNewList", 
     }, 
    }), 

} 

И я должен написать тест для этого на функции нажатия клавиши ...

Я написал свою спецификацию как

describe("",function(){ 
    beforeEach(function({ 

    }); 
    afterEach(function(){ 


    }); 

    it("Binding create list event to enter button",function(){    
    spyOn(_this.leftNavView, "handleCreateNewList"); 
    _this.leftNavView.delegateEvents(); 
    var e = jQuery.Event("Keypress"); 
    e.keyCode = 13;   
    if(e.keyCode == 13){ 
     $("#createList").trigger('click');   
    } 
    expect(_this.leftNavView.handleCreateNewList).toHaveBeenCalled(); 
}); 


}), 

Моя спекуляция звонит только событие щелчка для createlist, но я хочу, чтобы вызвать на событие нажатия клавиши для #listItemName и внутри, которые создают список щелчка событие. Я просто запутался здесь, много пробовал, но я не нашел никаких результатов.

Некоторый код был удален ..

+0

вы можете создать скрипку, демонстрирующую проблему? –

+0

Какую версию жасмина вы используете ..? –

ответ

1

Пытались ли вы, что-то вроде этого:

var e = $.Event('keypress'); 
    e.keyCode = 13; 
    $('#listItemName').trigger(e); 
+0

да я пробовал этот метод, но как вызвать внутреннюю функцию – shiva

+0

не понял? какая внутренняя функция? –

+0

после запуска введите событие в listitemname, и я должен вызвать другое событие клика в списке авторов, как я могу достичь этого – shiva

Смежные вопросы