summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAydar Zartdinov <zartdinov@gmail.com>2015-07-09 07:25:46 +0300
committerAydar Zartdinov <zartdinov@gmail.com>2015-07-09 07:25:46 +0300
commit725fdb2aaaa114b23583067a7099d817f806b146 (patch)
tree464d7f6bee4ab0f572fa75b833a2f4a9443136eb
parent4be3c68a8014acba23cde6d57f9a48efad31839c (diff)
downloadasync-725fdb2aaaa114b23583067a7099d817f806b146.tar.gz
unit test for bluebird promisified functions
-rw-r--r--lib/async.js2
-rwxr-xr-xtest/test-async.js33
2 files changed, 34 insertions, 1 deletions
diff --git a/lib/async.js b/lib/async.js
index e756854..32a2d82 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -1194,7 +1194,7 @@
result.then(function(value) {
callback(null, value);
}).catch(function(err) {
- callback(new Error(err));
+ callback(err.message ? err : new Error(err));
});
} else {
callback(null, result);
diff --git a/test/test-async.js b/test/test-async.js
index 3eb1324..37322c3 100755
--- a/test/test-async.js
+++ b/test/test-async.js
@@ -4269,6 +4269,39 @@ exports['asyncify'] = {
}
},
+ 'bluebird': {
+ 'setUp': function (callback) {
+ this.Promise = require('bluebird');
+ callback();
+ },
+
+ 'resolve': function(test) {
+ var promisified = this.Promise.promisify(function(argument, callback) {
+ setTimeout(function () {
+ callback(null, argument + " resolved");
+ }, 15);
+ });
+ async.asyncify(promisified)("argument", function (err, value) {
+ if (err) {
+ return test.done(new Error(err));
+ }
+ test.ok(value === "argument resolved");
+ test.done();
+ });
+ },
+
+ 'reject': function(test) {
+ var promisified = this.Promise.promisify(function(argument, callback) {
+ callback("argument rejected");
+ });
+ async.asyncify(promisified)("argument", function (err) {
+ test.ok(err);
+ test.ok(err.message === "argument rejected");
+ test.done();
+ });
+ }
+ },
+
'es6-promise': {
'setUp': function (callback) {
this.Promise = require('es6-promise').Promise;