diff options
Diffstat (limited to 'test/unit/app/nodeify-test.js')
-rw-r--r-- | test/unit/app/nodeify-test.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/unit/app/nodeify-test.js b/test/unit/app/nodeify-test.js new file mode 100644 index 000000000..901603c8b --- /dev/null +++ b/test/unit/app/nodeify-test.js @@ -0,0 +1,30 @@ +const assert = require('assert') +const nodeify = require('../../../app/scripts/lib/nodeify') + +describe('nodeify', function () { + var obj = { + foo: 'bar', + promiseFunc: function (a) { + var solution = this.foo + a + return Promise.resolve(solution) + }, + } + + it('should retain original context', function (done) { + var nodified = nodeify(obj.promiseFunc, obj) + nodified('baz', function (err, res) { + assert.equal(res, 'barbaz') + done() + }) + }) + + it('should allow the last argument to not be a function', function (done) { + const nodified = nodeify(obj.promiseFunc, obj) + try { + nodified('baz') + done() + } catch (err) { + done(new Error('should not have thrown if the last argument is not a function')) + } + }) +}) |