From 6f0c0e83744514c7fe70838097d96b5e3c2778ae Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Mon, 9 Oct 2017 12:12:54 -0700 Subject: Add test to look for wei precision. --- test/unit/components/bn-as-decimal-input-test.js | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'test/unit/components/bn-as-decimal-input-test.js') 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 } }, + }) + }) }) -- cgit v1.2.3 From c12d56063da5ed533ba63cf6e0843631659de0d3 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Mon, 9 Oct 2017 13:01:58 -0700 Subject: Fix to actually fail in earlier versions. --- test/unit/components/bn-as-decimal-input-test.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'test/unit/components/bn-as-decimal-input-test.js') diff --git a/test/unit/components/bn-as-decimal-input-test.js b/test/unit/components/bn-as-decimal-input-test.js index d74e0fa2e..81a8caa45 100644 --- a/test/unit/components/bn-as-decimal-input-test.js +++ b/test/unit/components/bn-as-decimal-input-test.js @@ -48,21 +48,21 @@ describe('BnInput', function () { checkValidity () { return true } }, }) }) - + it('can tolerate wei precision', function (done) { const renderer = ReactTestUtils.createRenderer() - let valueStr = '1000000000000000000' + let valueStr = '1000000000' const value = new BN(valueStr, 10) + const inputStr = '1.000000001' - const inputStr = '1000000000.000000001' - let targetStr = '1000000000000000001' + let targetStr = '1000000001' const target = new BN(targetStr, 10) - const precision = 9 // ether precision + const precision = 9 // gwei precision const scale = 9 const props = { @@ -71,6 +71,8 @@ describe('BnInput', function () { precision, onChange: (newBn) => { assert.equal(newBn.toString(), target.toString(), 'should tolerate increase') + const reInput = BnInput.prototype.downsize(newBn.toString(), 9, 9) + assert.equal(reInput.toString(), target.toString(), 'should tolerate increase') done() }, } -- cgit v1.2.3 From d82d9215fbe593293a6badc523218878cfb13dd2 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Mon, 9 Oct 2017 13:02:52 -0700 Subject: Make modification --- test/unit/components/bn-as-decimal-input-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/unit/components/bn-as-decimal-input-test.js') diff --git a/test/unit/components/bn-as-decimal-input-test.js b/test/unit/components/bn-as-decimal-input-test.js index 81a8caa45..58ecc9c89 100644 --- a/test/unit/components/bn-as-decimal-input-test.js +++ b/test/unit/components/bn-as-decimal-input-test.js @@ -72,7 +72,7 @@ describe('BnInput', function () { onChange: (newBn) => { assert.equal(newBn.toString(), target.toString(), 'should tolerate increase') const reInput = BnInput.prototype.downsize(newBn.toString(), 9, 9) - assert.equal(reInput.toString(), target.toString(), 'should tolerate increase') + assert.equal(reInput.toString(), inputStr, 'should tolerate increase') done() }, } -- cgit v1.2.3