diff options
author | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-02-03 23:20:26 +0800 |
---|---|---|
committer | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-02-03 23:20:26 +0800 |
commit | f1a5cf9128170b85428259c8b0ecfaed5b3e17d1 (patch) | |
tree | 9baf54fd2db882b95018fcd66238702b29035abf /test/event.inputParser.js | |
parent | 4bb5ba78b0f3d906743874aa8c0cb980b2ad0055 (diff) | |
parent | a5909d82eb16d6e631bd5f89d700eced205b2fcf (diff) | |
download | dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.gz dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.bz2 dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.lz dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.xz dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.zst dexon-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.zip |
Merge branch 'develop' into cpp
Conflicts:
dist/ethereum.js.map
dist/ethereum.min.js
Diffstat (limited to 'test/event.inputParser.js')
-rw-r--r-- | test/event.inputParser.js | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/test/event.inputParser.js b/test/event.inputParser.js new file mode 100644 index 000000000..8f9790a2d --- /dev/null +++ b/test/event.inputParser.js @@ -0,0 +1,125 @@ +var assert = require('assert'); +var event = require('../lib/event.js'); +var f = require('../lib/formatters.js'); + +describe('event', function () { + describe('inputParser', 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.inputParser(address, signature, e); + var result = impl(); + + // then + assert.equal(result.address, address); + 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.inputParser(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.inputParser(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.inputParser(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); + + }); + }); +}); + |