Ich habe eine sehr einfache Richtlinie, dessen Zweck es ist nur die dragstart
Veranstaltung abzusagen:Pass Mock DOM Event-Handler-Richtlinie ohne jQuery
link: function(scope, element) {
element.on('dragstart', function(e) {
e.preventDefault();
})
}
Wie kann ich dies in einem Test Jasmin testen? Ich habe den folgenden Test, der auf einem Ereignisobjekt auszuspionieren versucht, und übergeben es an den Handler:
var mockEvent;
beforeEach(function() {
mockEvent = new Event('dragstart');
spyOn(mockEvent,'preventDefault');
});
it('should call preventDefault', function() {
element.triggerHandler('dragstart', mockEvent);
expect(mockEvent.preventDefault).toHaveBeenCalled();
});
Aber der Test nicht bestanden. Sie können see this at this Plunker.. Wie kann ich das testen (/ refactor die Richtlinie, um es testbar zu machen)?
Bearbeiten: Idealerweise ohne jQuery. Bearbeiten: geänderte Tags
Bitte bearbeiten Sie Ihren Titel oder Ihre Antwort, um Angular anzugeben. Andere, die nach JavaScript-Lösungen von Vanilla suchen, landen hier. –
@NachoColoma Sie können Änderungen vornehmen! –