1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 19:10:22 +01:00
metamask-extension/test/unit/nodeify-test.js

32 lines
833 B
JavaScript
Raw Normal View History

2016-11-29 02:27:20 +01:00
const assert = require('assert')
const nodeify = require('../../app/scripts/lib/nodeify')
2017-05-04 23:35:10 +02:00
describe('nodeify', function () {
2016-11-29 02:27:20 +01:00
var obj = {
foo: 'bar',
promiseFunc: function (a) {
var solution = this.foo + a
return Promise.resolve(solution)
2017-05-04 23:35:10 +02:00
},
2016-11-29 02:27:20 +01:00
}
2017-05-04 23:35:10 +02:00
it('should retain original context', function (done) {
2017-07-13 00:10:52 +02:00
var nodified = nodeify(obj.promiseFunc, obj)
2016-11-29 02:27:20 +01:00
nodified('baz', function (err, res) {
assert.equal(res, 'barbaz')
done()
})
})
2017-08-04 04:10:33 +02:00
it('should throw if the last argument is not a function', function (done) {
2017-08-04 05:52:09 +02:00
const nodified = nodeify(obj.promiseFunc, obj)
2017-08-04 04:10:33 +02:00
try {
nodified('baz')
done(new Error('should have thrown if the last argument is not a function'))
} catch (err) {
2017-08-04 05:52:09 +02:00
assert.equal(err.message, 'callback is not a function')
done()
2017-08-04 04:10:33 +02:00
}
})
2016-11-29 02:27:20 +01:00
})