|
|
|
@ -48,4 +48,42 @@ describe('BnInput', function () { |
|
|
|
|
checkValidity () { return true } }, |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('can tolerate wei precision', function (done) { |
|
|
|
|
const renderer = ReactTestUtils.createRenderer() |
|
|
|
|
|
|
|
|
|
let valueStr = '1000000000' |
|
|
|
|
|
|
|
|
|
const value = new BN(valueStr, 10) |
|
|
|
|
const inputStr = '1.000000001' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let targetStr = '1000000001' |
|
|
|
|
|
|
|
|
|
const target = new BN(targetStr, 10) |
|
|
|
|
|
|
|
|
|
const precision = 9 // gwei precision
|
|
|
|
|
const scale = 9 |
|
|
|
|
|
|
|
|
|
const props = { |
|
|
|
|
value, |
|
|
|
|
scale, |
|
|
|
|
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(), inputStr, '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 } }, |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|