Pass mock-DOM-Ereignis-Richtlinie-handler ohne jQuery

Habe ich eine sehr einfache Richtlinie, deren Zweck es ist, einfach zu kündigen, die dragstart Veranstaltung:

link: function(scope, element) {
  element.on('dragstart', function(e) {
    e.preventDefault();
  })
}

Wie kann ich dies testen, in ein Jasmin-test? Ich habe den folgenden test, der versucht, den Spion auf ein Ereignis-Objekt, 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 schlägt fehl. Sie können siehe in diesem Plunker.. Wie kann ich dies testen (/umgestalten der Richtlinie zu machen es getestet)?

Edit: im Idealfall, ohne jQuery.
Edit: geändert tags

InformationsquelleAutor Michal Charemza | 2014-01-07

Schreibe einen Kommentar