1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
var assert= require('assert');
var file = '../../lib/eventemitter2';
var EventEmitter2;
if(typeof require !== 'undefined') {
EventEmitter2 = require(file).EventEmitter2;
}
else {
EventEmitter2 = window.EventEmitter2;
}
module.exports= {
'should support symbol keys for plain events': function(test){
var counter= 0;
var ee= new EventEmitter2();
var event= Symbol('event');
var handler= function(){
counter++;
};
ee.on(event, handler);
assert.equal(ee.listenerCount(), 1);
ee.emit(event);
assert.equal(counter, 1);
ee.off(event, handler);
ee.emit(event);
assert.equal(counter, 1);
assert.equal(ee.listenerCount(), 0);
test.done();
},
'should support symbol namespace for wildcard events': function(test){
var counter= 0;
var symbol= Symbol('test');
var ee= new EventEmitter2({
wildcard: true
});
ee.on(['event', symbol], function(value){
counter++;
assert.equal(value, 123);
});
ee.emit(['event', symbol], 123);
assert.equal(counter, 1);
test.done();
}
};
|