2015-03-22 18:12:52 +01:00
|
|
|
var chai = require('chai');
|
|
|
|
var assert = chai.assert;
|
2017-01-26 10:24:14 +01:00
|
|
|
var Method = require('../packages/web3-core-method');
|
2015-03-22 18:12:52 +01:00
|
|
|
|
2015-03-25 22:17:35 +01:00
|
|
|
describe('lib/web3/method', function () {
|
2015-03-22 18:12:52 +01:00
|
|
|
describe('extractCallback', function () {
|
|
|
|
it('should extract callback', function () {
|
2017-01-26 10:24:14 +01:00
|
|
|
|
2015-03-22 18:12:52 +01:00
|
|
|
// given
|
2017-01-26 10:24:14 +01:00
|
|
|
var method = new Method({name: 'something', call: 'eth_something'});
|
2015-03-22 18:12:52 +01:00
|
|
|
var callback = function () { };
|
|
|
|
var args = [1, callback]
|
|
|
|
|
|
|
|
// when
|
|
|
|
var result = method.extractCallback(args);
|
|
|
|
|
|
|
|
// then
|
|
|
|
assert.equal(args.length, 1);
|
|
|
|
assert.equal(callback, result);
|
|
|
|
});
|
2017-01-26 10:24:14 +01:00
|
|
|
|
2015-03-22 18:12:52 +01:00
|
|
|
it('should extract callback created using newFunction', function () {
|
2017-01-26 10:24:14 +01:00
|
|
|
|
2015-03-22 18:12:52 +01:00
|
|
|
// given
|
2017-01-26 10:24:14 +01:00
|
|
|
var method = new Method({name: 'something', call: 'eth_something'});
|
2015-03-22 18:12:52 +01:00
|
|
|
var callback = new Function ();
|
|
|
|
var args = [1, callback]
|
|
|
|
|
|
|
|
// when
|
|
|
|
var result = method.extractCallback(args);
|
|
|
|
|
|
|
|
// then
|
|
|
|
assert.equal(args.length, 1);
|
|
|
|
assert.equal(callback, result);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should not extract the callback', function () {
|
2017-01-26 10:24:14 +01:00
|
|
|
|
2015-03-22 18:12:52 +01:00
|
|
|
// given
|
2017-01-26 10:24:14 +01:00
|
|
|
var method = new Method({name: 'something', call: 'eth_something'});
|
2015-03-22 18:12:52 +01:00
|
|
|
var args = [1, 2]
|
|
|
|
|
|
|
|
// when
|
|
|
|
var result = method.extractCallback(args);
|
|
|
|
|
|
|
|
// then
|
|
|
|
assert.equal(args.length, 2);
|
|
|
|
assert.equal(result, null);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|