如何通过传递受操纵的事件对象来测试自定义事件

时间:2014-03-27 09:38:14

标签: jquery twitter-bootstrap datepicker jasmine karma-jasmine

我想测试bootstrap datepickerchangeDate事件:

elem.on('changeDate', function(event) {
    var newVal = event.date;
    ...
});

与Jasmine:

it('sets a new startDate', function() {
    elem.trigger('changeDate', {date: new Date(2014, 1, 2)});
    expect(elem.datepicker('getDate')).toEqual(new Date(2014, 1, 2));
});

记录event时,会返回整个日期选择工具object,但date仍为undefined。我应该如何通过自定义测试date

1 个答案:

答案 0 :(得分:1)

想出来:

it('sets a new startDate', function() {
    var event = jQuery.Event('changeDate');
    event.date = new Date(2014, 1, 2);
    elem.trigger(event);
    expect(elem.datepicker('getDate')).toEqual(new Date(2014, 1, 2));
});

诀窍。