UNPKG

promise-defer

Version:

Polyfill for Promise.defer. Uses the native ES6 Promise. Supports other Promises/A+ implementations.

48 lines (40 loc) 1.44 kB
var Bluebird = require("bluebird") var Deferred = require("..") var defer = Deferred describe("defer", function() { it("must return an instance of Deferred", function() { defer().must.be.an.instanceof(Deferred) }) describe("resolve", function() { it("must resolve the promise", function() { var deferred = defer() deferred.resolve(42) return deferred.promise.then(function(value) { value.must.equal(42) }) }) it("must resolve the promise given a Promise constructor", function() { var deferred = defer(Bluebird) deferred.resolve(42) return deferred.promise.then(function(value) { value.must.equal(42) }) }) }) describe("reject", function() { it("must reject the promise", function(done) { var deferred = defer() deferred.reject(42) deferred.promise.catch(function(value) { value.must.equal(42); done() }) }) it("must reject the promise given a Promise constructor", function(done) { var deferred = defer(Bluebird) deferred.reject(42) deferred.promise.catch(function(value) { value.must.equal(42); done() }) }) }) describe("promise", function() { it("must be an instance of Promise", function() { defer().promise.must.be.an.instanceof(Promise) }) it("must be an instance of the given Promise constructor", function() { defer(Bluebird).promise.must.be.an.instanceof(Bluebird) }) }) })