|
|
@ -26,6 +26,7 @@ var events = require('events'); |
|
|
|
var e = new events.EventEmitter(); |
|
|
|
|
|
|
|
var events_new_listener_emited = []; |
|
|
|
var listeners_new_listener_emited = []; |
|
|
|
var times_hello_emited = 0; |
|
|
|
|
|
|
|
// sanity check
|
|
|
@ -34,14 +35,19 @@ assert.equal(e.addListener, e.on); |
|
|
|
e.on('newListener', function(event, listener) { |
|
|
|
console.log('newListener: ' + event); |
|
|
|
events_new_listener_emited.push(event); |
|
|
|
listeners_new_listener_emited.push(listener); |
|
|
|
}); |
|
|
|
|
|
|
|
e.on('hello', function(a, b) { |
|
|
|
function hello(a, b) { |
|
|
|
console.log('hello'); |
|
|
|
times_hello_emited += 1; |
|
|
|
assert.equal('a', a); |
|
|
|
assert.equal('b', b); |
|
|
|
}); |
|
|
|
} |
|
|
|
e.on('hello', hello); |
|
|
|
|
|
|
|
var foo = function() {}; |
|
|
|
e.once('foo', foo); |
|
|
|
|
|
|
|
console.log('start'); |
|
|
|
|
|
|
@ -54,7 +60,8 @@ f.setMaxListeners(0); |
|
|
|
|
|
|
|
|
|
|
|
process.on('exit', function() { |
|
|
|
assert.deepEqual(['hello'], events_new_listener_emited); |
|
|
|
assert.deepEqual(['hello', 'foo'], events_new_listener_emited); |
|
|
|
assert.deepEqual([hello, foo], listeners_new_listener_emited); |
|
|
|
assert.equal(1, times_hello_emited); |
|
|
|
}); |
|
|
|
|
|
|
|