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: [
'src/lib/connectors/jquery.js',
'src/lib/connectors/xhr.js',
'when'
'bluebird'
]
}
},
@ -45,7 +45,7 @@ module.exports = {
ignore: [
'src/lib/connectors/angular.js',
'src/lib/connectors/xhr.js',
'when'
'bluebird'
]
}
}

View File

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

View File

@ -7,7 +7,7 @@ module.exports = Transport;
var _ = require('./utils');
var errors = require('./errors');
var Host = require('./host');
var when = require('when');
var Promise = require('bluebird');
function Transport(config) {
var self = this;
@ -96,7 +96,7 @@ Transport.nodesToHostCallbacks = {
};
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 _ = require('lodash-node');
var clock = require('sinon').useFakeTimers();
var es = elasticsearch.Client({
host: 'localhost:5555',
@ -35,4 +35,4 @@ es.search({
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(specDir + '/' + file);
});

View File

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

View File

@ -1,7 +1,7 @@
var Transport = require('../../../src/lib/transport');
var Host = require('../../../src/lib/host');
var errors = require('../../../src/lib/errors');
var when = require('when');
var Promise = require('bluebird');
var sinon = require('sinon');
var expect = require('expect.js');
@ -213,7 +213,7 @@ describe('Transport Class', function () {
describe('#defer', 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();
shortCircuitRequest(tran);
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');
ret.then(_.noop, _.noop); // prevent complaining from bluebird
});
it('promise is always pulled from the defer created by this.defer()', function () {
var fakePromise = {};
@ -591,7 +592,9 @@ describe('Transport Class', function () {
var tran = new Transport({});
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);
_.each(clock.timeouts, function (timer, id) {
@ -607,7 +610,9 @@ describe('Transport Class', function () {
});
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);
_.each(clock.timeouts, function (timer, id) {

View File

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