From 4e4bba8803d1e4f461e568cc2e2ccf82e369721d Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 20 Dec 2013 14:56:20 -0800 Subject: [PATCH] fix(events): resolve async events without any listener --- lib/events.js | 4 ++++ test/unit/events.spec.coffee | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/lib/events.js b/lib/events.js index 9876b6494..b788b1cae 100644 --- a/lib/events.js +++ b/lib/events.js @@ -75,6 +75,10 @@ var EventEmitter = function() { this.emit(name, done); + if (!pending) { + deferred.resolve(); + } + return deferred.promise; }; }; diff --git a/test/unit/events.spec.coffee b/test/unit/events.spec.coffee index 7b6123b43..d50005b7f 100644 --- a/test/unit/events.spec.coffee +++ b/test/unit/events.spec.coffee @@ -93,6 +93,12 @@ describe 'events', -> done() + it 'should resolve asynchronously when no listener', (done) -> + spyDone = sinon.spy done + emitter.emitAsync('whatever').then spyDone + expect(spyDone).to.not.have.been.called + + #============================================================================ # events.bindAll #============================================================================