'test addCallback shortcut': function (beforeExit) { var promise = new Promise() , called = 0; promise.addCallback(function (woot) { should.strictEqual(woot, undefined); called++; }); promise.complete(); beforeExit(function () { called.should.eql(1); }); },
'test errback+callback after complete()ing': function (beforeExit) { var promise = new Promise() , called = 0; promise.complete('woot'); promise.addBack(function (err, data){ data.should.eql('woot'); called++; }); promise.addBack(function (err, data){ should.strictEqual(err, null); called++; }); beforeExit(function () { called.should.eql(2); }); },
'test that events fire right away after complete()ing': function (beforeExit) { var promise = new Promise() , called = 0; promise.on('complete', function (a, b) { a.should.eql('1'); b.should.eql('2'); called++; }); promise.complete('1', '2'); promise.on('complete', function (a, b) { a.should.eql('1'); b.should.eql('2'); called++; }); beforeExit(function () { called.should.eql(2); }); },