parsing real, ureal values on output

This commit is contained in:
Marek Kotewicz
2015-01-19 13:22:58 +01:00
parent af54832d24
commit 6a58db66f7
5 changed files with 85 additions and 14 deletions

View File

@@ -419,7 +419,6 @@ describe('abi', function() {
});
});
describe('outputParser', function() {
@@ -673,12 +672,52 @@ describe('abi', function() {
var parser = abi.outputParser(d);
// then
assert.equal(parser.test("000000000000000000000000000000000000000000000000000000000000000001")[0], true);
assert.equal(parser.test("000000000000000000000000000000000000000000000000000000000000000000")[0], false);
assert.equal(parser.test("0x0000000000000000000000000000000000000000000000000000000000000001")[0], true);
assert.equal(parser.test("0x0000000000000000000000000000000000000000000000000000000000000000")[0], false);
});
it('should parse output real', function() {
// given
var d = clone(description);
d[0].outputs = [
{ type: 'real' }
];
// when
var parser = abi.outputParser(d);
// then
assert.equal(parser.test("0x0000000000000000000000000000000100000000000000000000000000000000")[0], 1);
assert.equal(parser.test("0x0000000000000000000000000000000220000000000000000000000000000000")[0], 2.125);
assert.equal(parser.test("0x0000000000000000000000000000000880000000000000000000000000000000")[0], 8.5);
assert.equal(parser.test("0xffffffffffffffffffffffffffffffff00000000000000000000000000000000")[0], -1);
});
it('should parse output ureal', function() {
// given
var d = clone(description);
d[0].outputs = [
{ type: 'ureal' }
];
// when
var parser = abi.outputParser(d);
// then
assert.equal(parser.test("0x0000000000000000000000000000000100000000000000000000000000000000")[0], 1);
assert.equal(parser.test("0x0000000000000000000000000000000220000000000000000000000000000000")[0], 2.125);
assert.equal(parser.test("0x0000000000000000000000000000000880000000000000000000000000000000")[0], 8.5);
});
it('should parse multiple output strings', function() {
// given