mirror of https://github.com/lukechilds/node.git
Michael Stillwell
15 years ago
committed by
Ryan Dahl
1 changed files with 32 additions and 0 deletions
@ -0,0 +1,32 @@ |
|||||
|
process.mixin(require("./common")); |
||||
|
var events = require('events'); |
||||
|
|
||||
|
var callbacks_called = [ ]; |
||||
|
|
||||
|
var e = new events.EventEmitter(); |
||||
|
|
||||
|
function callback1() { |
||||
|
callbacks_called.push("callback1"); |
||||
|
e.addListener("foo", callback2); |
||||
|
e.removeListener("foo", callback1); |
||||
|
} |
||||
|
|
||||
|
function callback2() { |
||||
|
callbacks_called.push("callback2"); |
||||
|
e.removeListener("foo", callback2); |
||||
|
} |
||||
|
|
||||
|
e.addListener("foo", callback1); |
||||
|
assert.equal(1, e.listeners("foo").length); |
||||
|
|
||||
|
e.emit("foo"); |
||||
|
assert.equal(1, e.listeners("foo").length); |
||||
|
assert.deepEqual(["callback1"], callbacks_called); |
||||
|
|
||||
|
e.emit("foo"); |
||||
|
assert.equal(0, e.listeners("foo").length); |
||||
|
assert.deepEqual(["callback1", "callback2"], callbacks_called); |
||||
|
|
||||
|
e.emit("foo"); |
||||
|
assert.equal(0, e.listeners("foo").length); |
||||
|
assert.deepEqual(["callback1", "callback2"], callbacks_called); |
Loading…
Reference in new issue