1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-16 11:37:29 +02:00
video.js/test/unit/events.js
2013-01-10 13:06:12 -08:00

75 lines
1.6 KiB
JavaScript

module("Events");
test('should add and remove an event listener to an element', function(){
expect(1);
var el = document.createElement('div');
var listener = function(){
ok(true, 'Click Triggered');
};
vjs.on(el, 'click', listener);
vjs.trigger(el, 'click'); // 1 click
vjs.off(el, 'click', listener)
vjs.trigger(el, 'click'); // No click should happen.
});
test('should remove all listeners of a type', function(){
var el = document.createElement('div');
var clicks = 0;
var listener = function(){
clicks++;
};
var listener2 = function(){
clicks++;
};
vjs.on(el, 'click', listener);
vjs.on(el, 'click', listener2);
vjs.trigger(el, 'click'); // 2 clicks
ok(clicks === 2, 'both click listeners fired')
vjs.off(el, 'click')
vjs.trigger(el, 'click'); // No click should happen.
ok(clicks === 2, 'no click listeners fired')
});
test('should remove all listeners from an element', function(){
expect(2);
var el = document.createElement('div');
var listener = function(){
ok(true, 'Fake1 Triggered');
};
var listener2 = function(){
ok(true, 'Fake2 Triggered');
};
vjs.on(el, 'fake1', listener);
vjs.on(el, 'fake2', listener2);
vjs.trigger(el, 'fake1');
vjs.trigger(el, 'fake2');
vjs.off(el);
// No listener should happen.
vjs.trigger(el, 'fake1');
vjs.trigger(el, 'fake2');
});
test('should listen only once', function(){
expect(1);
var el = document.createElement('div');
var listener = function(){
ok(true, 'Click Triggered');
};
vjs.one(el, 'click', listener);
vjs.trigger(el, 'click'); // 1 click
vjs.trigger(el, 'click'); // No click should happen.
});