eventemitter2
Advanced tools
Comparing version 0.3.6 to 0.3.7
@@ -169,6 +169,8 @@ | ||
var type = arguments[0]; | ||
this.event = type; | ||
// If there is no 'error' event listener then throw. | ||
if (type === 'newListener') { | ||
if(!this._events.newListener) { return false; } | ||
if (!this._events.newListener) { return false; } | ||
} | ||
@@ -178,2 +180,5 @@ | ||
if (this._all) { | ||
var l = arguments.length; | ||
var args = new Array(l - 1); | ||
for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; | ||
for (i = 0, l = this._all.length; i < l; i++) { | ||
@@ -198,3 +203,2 @@ this._all[i].apply(this, args); | ||
if(this.wildcard) { | ||
this.event = type; | ||
handler = []; | ||
@@ -209,6 +213,6 @@ var ns = type.split(this.delimiter); | ||
if (typeof handler === 'function') { | ||
if(arguments.length === 1) { | ||
if (arguments.length === 1) { | ||
handler.call(this); | ||
} | ||
else if(arguments.length > 1) | ||
else if (arguments.length > 1) | ||
switch (arguments.length) { | ||
@@ -231,3 +235,2 @@ case 2: | ||
else if (handler) { | ||
var l = arguments.length; | ||
@@ -234,0 +237,0 @@ var args = new Array(l - 1); |
{ | ||
"name": "eventemitter2", | ||
"version": "0.3.6", | ||
"version": "0.3.7", | ||
"description": "A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.", | ||
@@ -5,0 +5,0 @@ "keywords": ["event", "events", "emitter", "eventemitter"], |
@@ -48,12 +48,12 @@ var basicEvents = require('nodeunit').testCase; | ||
'1. An event can be namespaced.': function (test) { | ||
// | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test1.ns1', function () { | ||
// test.ok(true, 'The event was raised'); | ||
// }); | ||
// | ||
// emitter.emit('test1.ns1'); | ||
// | ||
// test.expect(1); | ||
var emitter = this.emitter; | ||
emitter.on('test1.ns1', function () { | ||
test.ok(true, 'The event was raised'); | ||
}); | ||
emitter.emit('test1.ns1'); | ||
test.expect(1); | ||
test.done(); | ||
@@ -64,12 +64,12 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test2.ns1', function(value1) { | ||
// test.ok(true, 'The event was raised'); | ||
// test.ok(typeof value1 !== 'undefined', 'The event was raised with the value `' + value1 + '`.'); | ||
// }); | ||
// | ||
// emitter.emit('test2.ns1', 1); | ||
// | ||
// test.expect(2); | ||
var emitter = this.emitter; | ||
emitter.on('test2.ns1', function(value1) { | ||
test.ok(true, 'The event was raised'); | ||
test.ok(typeof value1 !== 'undefined', 'The event was raised with the value `' + value1 + '`.'); | ||
}); | ||
emitter.emit('test2.ns1', 1); | ||
test.expect(2); | ||
test.done(); | ||
@@ -80,16 +80,16 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test3.ns1', function (value1, value2, value3) { | ||
// test.ok(true, 'The event was raised'); | ||
// test.ok(arguments.length === 3, 'The event was raised with the correct number of arguments'); | ||
// test.ok(value1 === 1 || value1 === 4, 'The event was raised with the value `' + value1 + '`.'); | ||
// test.ok(value2 === 2 || value2 === 5, 'The event was raised with the value `' + value2 + '`.'); | ||
// test.ok(value3 === 3 || value3 === 6, 'The event was raised with the value `' + value3 + '`.'); | ||
// }); | ||
// | ||
// emitter.emit('test3.ns1', 1, 2, 3); | ||
// emitter.emit('test3.ns1', 4, 5, 6); | ||
// | ||
// test.expect(10); | ||
var emitter = this.emitter; | ||
emitter.on('test3.ns1', function (value1, value2, value3) { | ||
test.ok(true, 'The event was raised'); | ||
test.ok(arguments.length === 3, 'The event was raised with the correct number of arguments'); | ||
test.ok(value1 === 1 || value1 === 4, 'The event was raised with the value `' + value1 + '`.'); | ||
test.ok(value2 === 2 || value2 === 5, 'The event was raised with the value `' + value2 + '`.'); | ||
test.ok(value3 === 3 || value3 === 6, 'The event was raised with the value `' + value3 + '`.'); | ||
}); | ||
emitter.emit('test3.ns1', 1, 2, 3); | ||
emitter.emit('test3.ns1', 4, 5, 6); | ||
test.expect(10); | ||
test.done(); | ||
@@ -99,11 +99,11 @@ }, | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test4.*', function () { | ||
// test.ok(true, 'The event was raised'); | ||
// }); | ||
// | ||
// emitter.emit('test4.ns1'); | ||
// | ||
// test.expect(1); | ||
var emitter = this.emitter; | ||
emitter.on('test4.*', function () { | ||
test.ok(true, 'The event was raised'); | ||
}); | ||
emitter.emit('test4.ns1'); | ||
test.expect(1); | ||
test.done(); | ||
@@ -114,11 +114,11 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test5A.test5B', function () { | ||
// test.ok(true, 'The event was raised'); | ||
// }); | ||
// | ||
// emitter.emit('test5A.*'); | ||
// | ||
// test.expect(1); | ||
var emitter = this.emitter; | ||
emitter.on('test5A.test5B', function () { | ||
test.ok(true, 'The event was raised'); | ||
}); | ||
emitter.emit('test5A.*'); | ||
test.expect(1); | ||
test.done(); | ||
@@ -129,11 +129,11 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test10.*.foo', function () { | ||
// test.ok(true, 'The event was raised'); | ||
// }); | ||
// | ||
// emitter.emit('test10.ns1.foo'); | ||
// | ||
// test.expect(1); | ||
var emitter = this.emitter; | ||
emitter.on('test10.*.foo', function () { | ||
test.ok(true, 'The event was raised'); | ||
}); | ||
emitter.emit('test10.ns1.foo'); | ||
test.expect(1); | ||
test.done(); | ||
@@ -144,11 +144,11 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test11.ns1.foo', function () { | ||
// test.ok(true, 'The event was raised'); | ||
// }); | ||
// | ||
// emitter.emit('test11.*.foo'); | ||
// | ||
// test.expect(1); | ||
var emitter = this.emitter; | ||
emitter.on('test11.ns1.foo', function () { | ||
test.ok(true, 'The event was raised'); | ||
}); | ||
emitter.emit('test11.*.foo'); | ||
test.expect(1); | ||
test.done(); | ||
@@ -159,16 +159,16 @@ | ||
// var emitter = this.emitter; | ||
// | ||
// emitter.on('test12.ns1.ns2', function (value1, value2, value3) { | ||
// test.ok(true, 'The event was raised'); | ||
// test.ok(arguments.length === 3, 'The event was raised with the correct number of arguments'); | ||
// test.ok(value1 === 1 || value1 === 4, 'The event was raised with the value `' + value1 + '`.'); | ||
// test.ok(value2 === 2 || value2 === 5, 'The event was raised with the value `' + value1 + '`.'); | ||
// test.ok(value3 === 3 || value3 === 6, 'The event was raised with the value `' + value1 + '`.'); | ||
// }); | ||
// | ||
// emitter.emit('test12.*.ns2', 1, 2, 3); | ||
// emitter.emit('test12.*.ns2', 4, 5, 6); | ||
// | ||
// test.expect(10); | ||
var emitter = this.emitter; | ||
emitter.on('test12.ns1.ns2', function (value1, value2, value3) { | ||
test.ok(true, 'The event was raised'); | ||
test.ok(arguments.length === 3, 'The event was raised with the correct number of arguments'); | ||
test.ok(value1 === 1 || value1 === 4, 'The event was raised with the value `' + value1 + '`.'); | ||
test.ok(value2 === 2 || value2 === 5, 'The event was raised with the value `' + value1 + '`.'); | ||
test.ok(value3 === 3 || value3 === 6, 'The event was raised with the value `' + value1 + '`.'); | ||
}); | ||
emitter.emit('test12.*.ns2', 1, 2, 3); | ||
emitter.emit('test12.*.ns2', 4, 5, 6); | ||
test.expect(10); | ||
test.done(); | ||
@@ -195,7 +195,25 @@ | ||
}/*, | ||
'10. A listener should support total wild card.': function (test) { | ||
}, | ||
'10. should be able to listen on any event' : function (test) { | ||
var emitter = this.emitter; | ||
var fn = function (foo, bar) { | ||
test.equal(this.event, 'test23.ns5.ns5') | ||
test.equal(foo, 'foo'); | ||
test.equal(bar, 1); | ||
test.ok(true, 'raised test23.ns5.ns5'); | ||
} | ||
emitter.onAny(fn); | ||
emitter.emit('test23.ns5.ns5', 'foo', 1); | ||
test.expect(4); | ||
test.done(); | ||
}, | ||
/*, | ||
'11. A listener should support total wild card.': function (test) { | ||
var emitter = this.emitter; | ||
emitter.on('*', function () { | ||
@@ -214,3 +232,3 @@ test.ok(true, 'The event was raised'); | ||
'11. A listener should support complex total wild card.': function (test) { | ||
'12. A listener should support complex total wild card.': function (test) { | ||
@@ -231,3 +249,3 @@ var emitter = this.emitter; | ||
}, | ||
'12. Should be able to fire with wildcard start.' : function (test) { | ||
'13. Should be able to fire with wildcard start.' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -248,3 +266,3 @@ | ||
}, | ||
'13. Should fail if delimiter is used to start or end event name.' : function (test) { | ||
'14. Should fail if delimiter is used to start or end event name.' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -338,3 +356,3 @@ | ||
'14. Should provide case sensitive option.' : function (test) { | ||
'15. Should provide case sensitive option.' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -355,3 +373,3 @@ | ||
'15. one emit should be able to fire on multiple namespaces.' : function (test) { | ||
'16. one emit should be able to fire on multiple namespaces.' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -371,3 +389,3 @@ | ||
'16. should support case insensitivty (complex).' : function (test) { | ||
'17. should support case insensitivty (complex).' : function (test) { | ||
if(typeof require !== 'undefined') { | ||
@@ -402,3 +420,3 @@ EventEmitter2 = require('../lib/ee2').EventEmitter2; | ||
'17. should be able to removeListeners' : function (test) { | ||
'18. should be able to removeListeners' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -460,3 +478,3 @@ | ||
'18. should be able to remove all listeners' : function (test) { | ||
'19. should be able to remove all listeners' : function (test) { | ||
@@ -489,35 +507,4 @@ var emitter = this.emitter, | ||
'19. should be able to listen on any event' : function (test) { | ||
'19. should be able to fire once and done' : function (test) { | ||
var emitter = this.emitter, | ||
addedEvents = setHelper(emitter, test, 'test23'), | ||
someData = { | ||
key : 'hello', | ||
bar : 'foo', | ||
'baz' : 5 | ||
}; | ||
fn = function (tag, data) { | ||
if (tag !== 'addListener') { | ||
test.equals(tag, 'test23.ns5.ns5', 'emitted tag, and raised tag should match'); | ||
test.equals(someData,data, 'data should be passed up'); | ||
test.ok(true, 'something happened somewhere'); | ||
} | ||
}; | ||
emitter.onAny(fn); | ||
emitter.emit('test23.ns5.ns5', someData); //3 | ||
emitter.unAny(fn); | ||
emitter.emit('test21'); //0 | ||
emitter.onAny(fn); | ||
emitter.onAny(fn); | ||
emitter.emit('test23.ns5.ns5', someData); //6 | ||
emitter.unAny(); | ||
test.expect(9); | ||
test.done(); | ||
}, | ||
'20. should be able to fire once and done' : function (test) { | ||
var emitter = this.emitter, | ||
addedEvents = setHelper(emitter,test,'test24'); | ||
@@ -537,3 +524,3 @@ | ||
'21. should be able to fire many and done' : function (test) { | ||
'20. should be able to fire many and done' : function (test) { | ||
@@ -557,3 +544,3 @@ var emitter = this.emitter, | ||
'22. should be able to list all onAny listeners' : function (test) { | ||
'21. should be able to list all onAny listeners' : function (test) { | ||
var emitter = this.emitter, | ||
@@ -590,3 +577,3 @@ addedEvents = setHelper(emitter, test, 'test26'), | ||
'23. should not expand beyond the namespace' : function (test) { | ||
'22. should not expand beyond the namespace' : function (test) { | ||
var emitter = this.emitter, | ||
@@ -602,3 +589,3 @@ addedEvents = setHelper(emitter,test,'test27'); | ||
'24. should raise errors, if error is emitted and not caught' : function (test) { | ||
'23. should raise errors, if error is emitted and not caught' : function (test) { | ||
var emitter = this.emitter, | ||
@@ -632,3 +619,3 @@ error = new Error('Something Funny Happened'); | ||
'25. should raise errors on namespaces, if error is emitted and not caught' : function (test) { | ||
'24. should raise errors on namespaces, if error is emitted and not caught' : function (test) { | ||
var emitter = this.emitter, | ||
@@ -664,3 +651,3 @@ error = new Error('Something Funny Happened'); | ||
'26. should support old config for EE2' : function (test) { | ||
'25. should support old config for EE2' : function (test) { | ||
if(typeof require !== 'undefined') { | ||
@@ -687,3 +674,3 @@ EventEmitter2 = require('../lib/ee2').EventEmitter2; | ||
'27. should reject bad wildcard inputs' : function (test) { | ||
'26. should reject bad wildcard inputs' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -798,3 +785,3 @@ addedEvents = setHelper(emitter,test,'test31'); | ||
'28. Should be able to start with 0 max listeners' : function (test) { | ||
'27. Should be able to start with 0 max listeners' : function (test) { | ||
@@ -824,3 +811,3 @@ if(typeof require !== 'undefined') { | ||
'29. should raise maxListeners when too many are registerd' : function (test) { | ||
'28. should raise maxListeners when too many are registerd' : function (test) { | ||
var emitter = this.emitter; | ||
@@ -827,0 +814,0 @@ |
83950
2314