Obejmuję tę część systemu z testem atm, mam zdarzenia powiązane w taki sposób, że zatrzymanie propagacji na pierwszym musi anulować drugie zdarzenie z ostrzału.Sprawdź, czy zdarzenie nie zostało wywołane na elemencie ze szpiegiem Jasmine
$.fn.extend({
OnTheMoveBCTrigger: function (name, options) {
if (!(this[0] instanceof OnTheMove_BusinessComponent)) {
throw ('is not an instance of OnTheMove_BusinessComponent');
} else {
var event = $.Event(name);
var promise = $(this).OnTheMoveTrigger(event, options);
if (!event.isPropagationStopped()) {
$(onTheMove.PageDataRoles).OnTheMoveTrigger(name, options);
}
}
}
});
Pomyślałem, jak sprawdzić, że drugie zdarzenie został zwolniony z jaśminu-jquery spyOnEvent
it("OnTheMoveBCTrigger chain fires event on onTheMove.PageDataRoles", function() {
var spy = spyOnEvent(onTheMove.PageDataRoles, 'event2');
$(window.bc).OnTheMoveBCTrigger("event2");
expect('event2').toHaveBeenTriggeredOn(onTheMove.PageDataRoles);
expect(spy).toHaveBeenTriggered();
});
ale teraz muszę przetestować przypadek gdzie propagacja jest zatrzymane, a drugie zdarzenie nie jest zwolniony.
Jak sprawdzić, czy zdarzenie nie zostało wyrzucone?