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.outputParser.js | |
parent | 4bb5ba78b0f3d906743874aa8c0cb980b2ad0055 (diff) | |
parent | a5909d82eb16d6e631bd5f89d700eced205b2fcf (diff) | |
download | go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.gz go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.bz2 go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.lz go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.xz go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.tar.zst go-tangerine-f1a5cf9128170b85428259c8b0ecfaed5b3e17d1.zip |
Merge branch 'develop' into cpp
Conflicts:
dist/ethereum.js.map
dist/ethereum.min.js
Diffstat (limited to 'test/event.outputParser.js')
-rw-r--r-- | test/event.outputParser.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test/event.outputParser.js b/test/event.outputParser.js new file mode 100644 index 000000000..22f4ed395 --- /dev/null +++ b/test/event.outputParser.js @@ -0,0 +1,81 @@ +var assert = require('assert'); +var event = require('../lib/event.js'); + +describe('event', function () { + describe('outputParser', function () { + it('should parse basic event output object', function () { + + // given + var output = { + "address":"0x78dfc5983baecf65f73e3de3a96cee24e6b7981e", + "data":"0x000000000000000000000000000000000000000000000000000000000000004b", + "number":2, + "topic":[ + "0x6e61ef44ac2747ff8b84d353a908eb8bd5c3fb118334d57698c5cfc7041196ad", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ] + }; + + var e = { + name: 'Event', + inputs: [{"name":"a","type":"bool","indexed":true},{"name":"b","type":"uint256","indexed":false}] + }; + + // when + var impl = event.outputParser(e); + var result = impl(output); + + // then + assert.equal(result.event, 'Event'); + assert.equal(result.number, 2); + assert.equal(Object.keys(result.args).length, 2); + assert.equal(result.args.a, true); + assert.equal(result.args.b, 75); + }); + + it('should parse event output object arguments in correct order', function () { + + // given + var output = { + "address":"0x78dfc5983baecf65f73e3de3a96cee24e6b7981e", + "data": "0x" + + "000000000000000000000000000000000000000000000000000000000000004b" + + "000000000000000000000000000000000000000000000000000000000000004c" + + "0000000000000000000000000000000000000000000000000000000000000001", + "number":3, + "topic":[ + "0x6e61ef44ac2747ff8b84d353a908eb8bd5c3fb118334d57698c5cfc7041196ad", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ] + }; + + var e = { + name: 'Event2', + inputs: [ + {"name":"a","type":"bool","indexed":true}, + {"name":"b","type":"int","indexed":false}, + {"name":"c","type":"int","indexed":false}, + {"name":"d","type":"int","indexed":true}, + {"name":"e","type":"bool","indexed":false} + ] + }; + + // when + var impl = event.outputParser(e); + var result = impl(output); + + // then + assert.equal(result.event, 'Event2'); + assert.equal(result.number, 3); + assert.equal(Object.keys(result.args).length, 5); + assert.equal(result.args.a, true); + assert.equal(result.args.b, 75); + assert.equal(result.args.c, 76); + assert.equal(result.args.d, 5); + assert.equal(result.args.e, true); + + }); + }); +}); + |