mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Squashed 'libjsqrc/ethereumjs/' changes from 600c9dd..0b82a05
0b82a05 events 80c97ca events 2491c99 abi.js cleanup && new types.js, utils.js cf534d4 gulp 5689086 formatters separated 995861d event options git-subtree-dir: libjsqrc/ethereumjs git-subtree-split: 0b82a05a75a0a7592e4fe391120f90d7cee495ac
This commit is contained in:
parent
2994eb4e63
commit
9475733a2d
110
event.js
110
event.js
@ -1,22 +1,124 @@
|
||||
var assert = require('assert');
|
||||
var event = require('../lib/event.js');
|
||||
var f = require('../lib/formatters.js');
|
||||
|
||||
describe('event', function () {
|
||||
it('should create filter input object from given', function () {
|
||||
it('should create basic filter input object', function () {
|
||||
|
||||
// given
|
||||
var address = '0x012345';
|
||||
var signature = '0x987654';
|
||||
var e = {
|
||||
name: 'Event',
|
||||
inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}]
|
||||
};
|
||||
|
||||
// when
|
||||
var impl = event(address, signature);
|
||||
var impl = event(address, signature, e);
|
||||
var result = impl();
|
||||
|
||||
// then
|
||||
assert.equal(result.address, address);
|
||||
assert.equal(result.topics.length, 1);
|
||||
assert.equal(result.topics[0], signature);
|
||||
assert.equal(result.topic.length, 1);
|
||||
assert.equal(result.topic[0], signature);
|
||||
|
||||
});
|
||||
|
||||
it('should create filter input object with options', function () {
|
||||
|
||||
// given
|
||||
var address = '0x012345';
|
||||
var signature = '0x987654';
|
||||
var options = {
|
||||
earliest: 1,
|
||||
latest: 2,
|
||||
offset: 3,
|
||||
max: 4
|
||||
};
|
||||
var e = {
|
||||
name: 'Event',
|
||||
inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}]
|
||||
};
|
||||
|
||||
// when
|
||||
var impl = event(address, signature, e);
|
||||
var result = impl({}, options);
|
||||
|
||||
// then
|
||||
assert.equal(result.address, address);
|
||||
assert.equal(result.topic.length, 1);
|
||||
assert.equal(result.topic[0], signature);
|
||||
assert.equal(result.earliest, options.earliest);
|
||||
assert.equal(result.latest, options.latest);
|
||||
assert.equal(result.offset, options.offset);
|
||||
assert.equal(result.max, options.max);
|
||||
|
||||
});
|
||||
|
||||
it('should create filter input object with indexed params', function () {
|
||||
|
||||
// given
|
||||
var address = '0x012345';
|
||||
var signature = '0x987654';
|
||||
var options = {
|
||||
earliest: 1,
|
||||
latest: 2,
|
||||
offset: 3,
|
||||
max: 4
|
||||
};
|
||||
var e = {
|
||||
name: 'Event',
|
||||
inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}]
|
||||
};
|
||||
|
||||
// when
|
||||
var impl = event(address, signature, e);
|
||||
var result = impl({a: 4}, options);
|
||||
|
||||
// then
|
||||
assert.equal(result.address, address);
|
||||
assert.equal(result.topic.length, 2);
|
||||
assert.equal(result.topic[0], signature);
|
||||
assert.equal(result.topic[1], f.formatInputInt(4));
|
||||
assert.equal(result.earliest, options.earliest);
|
||||
assert.equal(result.latest, options.latest);
|
||||
assert.equal(result.offset, options.offset);
|
||||
assert.equal(result.max, options.max);
|
||||
|
||||
});
|
||||
|
||||
it('should create filter input object with an array of indexed params', function () {
|
||||
|
||||
// given
|
||||
var address = '0x012345';
|
||||
var signature = '0x987654';
|
||||
var options = {
|
||||
earliest: 1,
|
||||
latest: 2,
|
||||
offset: 3,
|
||||
max: 4
|
||||
};
|
||||
var e = {
|
||||
name: 'Event',
|
||||
inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}]
|
||||
};
|
||||
|
||||
// when
|
||||
var impl = event(address, signature, e);
|
||||
var result = impl({a: [4, 69]}, options);
|
||||
|
||||
// then
|
||||
assert.equal(result.address, address);
|
||||
assert.equal(result.topic.length, 2);
|
||||
assert.equal(result.topic[0], signature);
|
||||
assert.equal(result.topic[1][0], f.formatInputInt(4));
|
||||
assert.equal(result.topic[1][1], f.formatInputInt(69));
|
||||
assert.equal(result.earliest, options.earliest);
|
||||
assert.equal(result.latest, options.latest);
|
||||
assert.equal(result.offset, options.offset);
|
||||
assert.equal(result.max, options.max);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user