From 6f0c0e83744514c7fe70838097d96b5e3c2778ae Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Mon, 9 Oct 2017 12:12:54 -0700 Subject: [PATCH] Add test to look for wei precision. --- .../components/bn-as-decimal-input-test.js | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/unit/components/bn-as-decimal-input-test.js b/test/unit/components/bn-as-decimal-input-test.js index 106b3a871..d74e0fa2e 100644 --- a/test/unit/components/bn-as-decimal-input-test.js +++ b/test/unit/components/bn-as-decimal-input-test.js @@ -48,4 +48,40 @@ describe('BnInput', function () { checkValidity () { return true } }, }) }) + + it('can tolerate wei precision', function (done) { + const renderer = ReactTestUtils.createRenderer() + + let valueStr = '1000000000000000000' + + const value = new BN(valueStr, 10) + + const inputStr = '1000000000.000000001' + + let targetStr = '1000000000000000001' + + const target = new BN(targetStr, 10) + + const precision = 9 // ether precision + const scale = 9 + + const props = { + value, + scale, + precision, + onChange: (newBn) => { + assert.equal(newBn.toString(), target.toString(), 'should tolerate increase') + done() + }, + } + + const inputComponent = h(BnInput, props) + const component = additions.renderIntoDocument(inputComponent) + renderer.render(inputComponent) + const input = additions.find(component, 'input.hex-input')[0] + ReactTestUtils.Simulate.change(input, { preventDefault () {}, target: { + value: inputStr, + checkValidity () { return true } }, + }) + }) })