setMaxListeners should initialize _events
authorRyan Dahl <ry@tinyclouds.org>
Mon, 7 Mar 2011 21:16:00 +0000 (13:16 -0800)
committerRyan Dahl <ry@tinyclouds.org>
Mon, 7 Mar 2011 21:16:00 +0000 (13:16 -0800)
lib/events.js
test/simple/test-event-emitter-add-listeners.js

index 6505606..b69b335 100644 (file)
@@ -9,6 +9,7 @@ var isArray = Array.isArray;
 // that to be increased. Set to zero for unlimited.
 var defaultMaxListeners = 10;
 EventEmitter.prototype.setMaxListeners = function(n) {
+  if (!this._events) this._events = {};
   this._events.maxListeners = n;
 };
 
index 7c4b723..306f4fc 100644 (file)
@@ -23,6 +23,12 @@ console.log('start');
 
 e.emit('hello', 'a', 'b');
 
+
+// just make sure that this doesn't throw:
+var f = new events.EventEmitter();
+f.setMaxListeners(0);
+
+
 process.addListener('exit', function() {
   assert.deepEqual(['hello'], events_new_listener_emited);
   assert.equal(1, times_hello_emited);