65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
// jscs:disable requireArrowFunctions,disallowVar,requireEnhancedObjectLiterals
|
|
/* globals QUnit,Hammer,utils,el */
|
|
|
|
QUnit.module('eventEmitter');
|
|
|
|
QUnit.test('test the eventemitter', function(assert) {
|
|
assert.expect(6);
|
|
|
|
var ee = new Hammer.Manager(utils.createHitArea());
|
|
var inputData = {
|
|
target: document.body,
|
|
srcEvent: {
|
|
preventDefault: function() {
|
|
assert.ok(true, 'preventDefault ref');
|
|
},
|
|
target: document.body
|
|
}
|
|
};
|
|
|
|
function event3Handler() {
|
|
assert.ok(true, 'emitted event3');
|
|
}
|
|
|
|
ee.on('testEvent1', function() {
|
|
assert.ok(true, 'emitted event');
|
|
});
|
|
ee.on('testEvent2', function(ev) {
|
|
assert.ok(true, 'emitted event');
|
|
ev.preventDefault();
|
|
assert.ok(ev.target === document.body, 'target is the body');
|
|
});
|
|
ee.on('testEvent3', event3Handler);
|
|
|
|
ee.emit('testEvent1', inputData);
|
|
ee.emit('testEvent2', inputData);
|
|
ee.emit('testEvent3', inputData);
|
|
|
|
// Unbind testEvent2
|
|
ee.off('testEvent2');
|
|
ee.off('testEvent3', event3Handler);
|
|
|
|
ee.emit('testEvent1', inputData); // Should trigger testEvent1 again
|
|
ee.emit('testEvent2', inputData); // Doenst trigger a thing
|
|
ee.emit('testEvent3', inputData); // Doenst trigger a thing
|
|
|
|
// Destroy
|
|
ee.destroy();
|
|
|
|
ee.emit('testEvent1', inputData); // Doenst trigger a thing
|
|
ee.emit('testEvent2', inputData); // Doenst trigger a thing
|
|
ee.emit('testEvent3', inputData); // Doenst trigger a thing
|
|
});
|
|
|
|
/*
|
|
* Hammer.Manager.off method : exception handling
|
|
*/
|
|
QUnit.test('When Hammer.Manager didnt attach an event, `off` method is ignored', function(assert) {
|
|
var count = 0;
|
|
var hammer = new Hammer(el, { inputTarget: document.body });
|
|
hammer.off('swipeleft', function() {
|
|
count++;
|
|
});
|
|
assert.ok(true, 'nothing');
|
|
});
|