switched to bluebird for promise support

This commit is contained in:
Spencer Alger
2014-03-27 09:49:21 -07:00
parent a91d6b76b9
commit 4ab22a1a61
8 changed files with 23 additions and 18 deletions

View File

@ -33,7 +33,7 @@ module.exports = {
ignore: [ ignore: [
'src/lib/connectors/jquery.js', 'src/lib/connectors/jquery.js',
'src/lib/connectors/xhr.js', 'src/lib/connectors/xhr.js',
'when' 'bluebird'
] ]
} }
}, },
@ -45,7 +45,7 @@ module.exports = {
ignore: [ ignore: [
'src/lib/connectors/angular.js', 'src/lib/connectors/angular.js',
'src/lib/connectors/xhr.js', 'src/lib/connectors/xhr.js',
'when' 'bluebird'
] ]
} }
} }

View File

@ -69,7 +69,7 @@
"chalk": "~0.4", "chalk": "~0.4",
"forever-agent": "0.5.2", "forever-agent": "0.5.2",
"lodash-node": "~2.4", "lodash-node": "~2.4",
"when": "^3.0.1" "bluebird": "^1.1.1"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -7,7 +7,7 @@ module.exports = Transport;
var _ = require('./utils'); var _ = require('./utils');
var errors = require('./errors'); var errors = require('./errors');
var Host = require('./host'); var Host = require('./host');
var when = require('when'); var Promise = require('bluebird');
function Transport(config) { function Transport(config) {
var self = this; var self = this;
@ -96,7 +96,7 @@ Transport.nodesToHostCallbacks = {
}; };
Transport.prototype.defer = function () { Transport.prototype.defer = function () {
return when.defer(); return Promise.defer();
}; };
/** /**

View File

@ -1,6 +1,6 @@
var clock = require('sinon').useFakeTimers();
var elasticsearch = require('../../src/elasticsearch'); var elasticsearch = require('../../src/elasticsearch');
var _ = require('lodash-node'); var _ = require('lodash-node');
var clock = require('sinon').useFakeTimers();
var es = elasticsearch.Client({ var es = elasticsearch.Client({
host: 'localhost:5555', host: 'localhost:5555',
@ -35,4 +35,4 @@ es.search({
console.log(destroyedSockets); console.log(destroyedSockets);
}); });
clock.tick(1); clock.tick(10);

View File

@ -1,5 +1,6 @@
var specDir = __dirname + '/specs'; require('bluebird').longStackTraces();
var specDir = __dirname + '/specs';
require('fs').readdirSync(specDir).forEach(function (file) { require('fs').readdirSync(specDir).forEach(function (file) {
require(specDir + '/' + file); require(specDir + '/' + file);
}); });

View File

@ -1,7 +1,7 @@
var ca = require('../../../src/lib/client_action'); var ca = require('../../../src/lib/client_action');
var expect = require('expect.js'); var expect = require('expect.js');
var _ = require('lodash-node'); var _ = require('lodash-node');
var when = require('when'); var Promise = require('bluebird');
/** /**
* Creates a simple mock of the client, whose "transport" has a request * Creates a simple mock of the client, whose "transport" has a request
@ -18,11 +18,11 @@ function mockClient() {
cb(void 0, params); cb(void 0, params);
}); });
} else { } else {
return when.resolve(params); return Promise.resolve(params);
} }
}, },
defer: function () { defer: function () {
return when.defer(); return Promise.defer();
} }
} }
}; };

View File

@ -1,7 +1,7 @@
var Transport = require('../../../src/lib/transport'); var Transport = require('../../../src/lib/transport');
var Host = require('../../../src/lib/host'); var Host = require('../../../src/lib/host');
var errors = require('../../../src/lib/errors'); var errors = require('../../../src/lib/errors');
var when = require('when'); var Promise = require('bluebird');
var sinon = require('sinon'); var sinon = require('sinon');
var expect = require('expect.js'); var expect = require('expect.js');
@ -213,7 +213,7 @@ describe('Transport Class', function () {
describe('#defer', function () { describe('#defer', function () {
it('returns a when.js promise by default', function () { it('returns a when.js promise by default', function () {
expect(Transport.prototype.defer().constructor).to.be(when.defer().constructor); expect(Transport.prototype.defer().constructor).to.be(Promise.defer().constructor);
}); });
}); });
@ -513,8 +513,9 @@ describe('Transport Class', function () {
var tran = new Transport(); var tran = new Transport();
shortCircuitRequest(tran); shortCircuitRequest(tran);
var ret = tran.request({}); var ret = tran.request({});
expect(when.isPromise(ret)).to.be(true); expect(Promise.is(ret)).to.be(true);
expect(ret.abort).to.be.a('function'); expect(ret.abort).to.be.a('function');
ret.then(_.noop, _.noop); // prevent complaining from bluebird
}); });
it('promise is always pulled from the defer created by this.defer()', function () { it('promise is always pulled from the defer created by this.defer()', function () {
var fakePromise = {}; var fakePromise = {};
@ -591,7 +592,9 @@ describe('Transport Class', function () {
var tran = new Transport({}); var tran = new Transport({});
var err; var err;
tran.request({}); var prom = tran.request({});
// disregard promise, prevent bluebird's warnings
prom.then(_.noop, _.noop);
expect(_.size(clock.timeouts)).to.eql(1); expect(_.size(clock.timeouts)).to.eql(1);
_.each(clock.timeouts, function (timer, id) { _.each(clock.timeouts, function (timer, id) {
@ -607,7 +610,9 @@ describe('Transport Class', function () {
}); });
var err; var err;
tran.request({}); var prom = tran.request({});
// disregard promise, prevent bluebird's warnings
prom.then(_.noop, _.noop);
expect(_.size(clock.timeouts)).to.eql(1); expect(_.size(clock.timeouts)).to.eql(1);
_.each(clock.timeouts, function (timer, id) { _.each(clock.timeouts, function (timer, id) {

View File

@ -1,7 +1,6 @@
var Transport = require('../../../src/lib/transport'); var Transport = require('../../../src/lib/transport');
var Host = require('../../../src/lib/host'); var Host = require('../../../src/lib/host');
var errors = require('../../../src/lib/errors'); var errors = require('../../../src/lib/errors');
var when = require('when');
var expect = require('expect.js'); var expect = require('expect.js');
var sinon = require('sinon'); var sinon = require('sinon');
@ -254,7 +253,7 @@ describe('Transport + Mock server', function () {
good: 'day' good: 'day'
}); });
done(); done();
}); }, done);
}); });
}); });