promise-deferred
Version:
A lightweight Deferred implementation, on top of Promises/A+
42 lines (35 loc) • 1.07 kB
JavaScript
;
var test = require('tape');
var Deferred = require('..');
var Promise = require('promise');
test('constructs', function (t) {
t.ok(new Deferred() instanceof Deferred, 'constructs a new Deferred');
t.ok(Deferred() instanceof Deferred, 'returns a new Deferred');
t.notEqual(Deferred(), Deferred(), 'returns new instance each time');
t.end();
});
test('Deferred has a reference to Promise', function (t) {
t.equal(Deferred.Promise, Promise, 'Deferred.Promise === Promise');
t.end();
});
test('has a promise', function (t) {
var deferred = Deferred();
t.ok(deferred.promise instanceof Promise, 'promise property is a Promise');
t.end();
});
test('resolve', function (t) {
var deferred = Deferred();
t.plan(1);
deferred.promise.then(function (value) {
t.equal(value, 42, 'value is resolved properly');
});
deferred.resolve(42);
});
test('reject', function (t) {
var deferred = Deferred();
t.plan(1);
deferred.promise.then(null, function (error) {
t.equal(error, 'error', 'error is rejected properly');
});
deferred.reject('error');
});