eventemitter-ex
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -99,2 +99,7 @@ 'use strict'; | ||
EventEmitterEx.prototype.pipeAsPromise = function pipeAsPromise (emitter) { | ||
this.pipeExcept('end', 'error', emitter); | ||
return EventEmitterEx.asPromise(emitter); | ||
}; | ||
EventEmitterEx.prototype.map = function map (/* arguments */) { | ||
@@ -101,0 +106,0 @@ var eex = new EventEmitterEx(), |
{ | ||
"name": "eventemitter-ex", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "EventEmitter extensions", | ||
@@ -5,0 +5,0 @@ "main": "EventEmitterEx.js", |
@@ -408,2 +408,57 @@ 'use strict'; | ||
describe('#pipeAsPromise()', function () { | ||
var i = 0; | ||
[EventEmitter, EEX].forEach(function (SourceType) { | ||
i++; | ||
it('should return a Promise that resolves on end event #' + i, function (done) { | ||
var e = new SourceType(), A = 45; | ||
emitter | ||
.on('end', function () { done(new Error('WTF?')); }) | ||
.on('error', done) | ||
.pipeAsPromise(e) | ||
.then(function (value) { | ||
value.should.equals(A); | ||
done(); | ||
}, done); | ||
e.emit('end', A); | ||
}); | ||
it('should return a Promise that rejects on error event #' + i, function (done) { | ||
var e = new SourceType(), error = new Error('123'); | ||
emitter | ||
.on('end', function () { done(new Error('WTF??')); }) | ||
.on('error', done) | ||
.pipeAsPromise(e) | ||
.then(function () { | ||
done(new Error('WTF?')); | ||
}, function (err) { | ||
err.should.be.equal(error); | ||
done(); | ||
}); | ||
e.emit('error', error); | ||
}); | ||
it('should pipe events #' + i, function (done) { | ||
var e = new SourceType(), A = 45; | ||
emitter | ||
.on('data', function (data) { | ||
data.should.be.equal(A); | ||
done(); | ||
}) | ||
.on('end', function () { done(new Error('WTF??')); }) | ||
.on('error', done) | ||
.pipeAsPromise(e); | ||
e.emit('data', A); | ||
}); | ||
}); | ||
}); | ||
describe('#map()', function () { | ||
@@ -410,0 +465,0 @@ |
61998
1034