Merge pull request #4699 from TrejGun/removeLeadingZeroes

move removeLeadingZeroes to utils, add test
feature/default_network_editable
Dan J Miller 7 years ago committed by GitHub
commit 4bdd59b055
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      ui/app/components/send/currency-display.js
  2. 5
      ui/app/components/send_/send.utils.js
  3. 30
      ui/app/components/send_/send.utils.test.js

@ -2,6 +2,7 @@ const Component = require('react').Component
const h = require('react-hyperscript') const h = require('react-hyperscript')
const inherits = require('util').inherits const inherits = require('util').inherits
const { conversionUtil, multiplyCurrencies } = require('../../conversion-util') const { conversionUtil, multiplyCurrencies } = require('../../conversion-util')
const { removeLeadingZeroes } = require('../send_/send.utils')
const currencyFormatter = require('currency-formatter') const currencyFormatter = require('currency-formatter')
const currencies = require('currency-formatter/currencies') const currencies = require('currency-formatter/currencies')
const ethUtil = require('ethereumjs-util') const ethUtil = require('ethereumjs-util')
@ -92,10 +93,6 @@ CurrencyDisplay.prototype.getConvertedValueToRender = function (nonFormattedValu
: convertedValue : convertedValue
} }
function removeLeadingZeroes (str) {
return str.replace(/^0*(?=\d)/, '')
}
CurrencyDisplay.prototype.handleChange = function (newVal) { CurrencyDisplay.prototype.handleChange = function (newVal) {
this.setState({ valueToRender: removeLeadingZeroes(newVal) }) this.setState({ valueToRender: removeLeadingZeroes(newVal) })
this.props.onChange(this.getAmount(newVal)) this.props.onChange(this.getAmount(newVal))

@ -33,6 +33,7 @@ module.exports = {
getToAddressForGasUpdate, getToAddressForGasUpdate,
isBalanceSufficient, isBalanceSufficient,
isTokenBalanceSufficient, isTokenBalanceSufficient,
removeLeadingZeroes,
} }
function calcGasTotal (gasLimit, gasPrice) { function calcGasTotal (gasLimit, gasPrice) {
@ -276,3 +277,7 @@ function estimateGasPriceFromRecentBlocks (recentBlocks) {
function getToAddressForGasUpdate (...addresses) { function getToAddressForGasUpdate (...addresses) {
return [...addresses, ''].find(str => str !== undefined && str !== null).toLowerCase() return [...addresses, ''].find(str => str !== undefined && str !== null).toLowerCase()
} }
function removeLeadingZeroes (str) {
return str.replace(/^0*(?=\d)/, '')
}

@ -0,0 +1,30 @@
import assert from 'assert'
import { removeLeadingZeroes } from './send.utils'
describe('send utils', () => {
describe('removeLeadingZeroes()', () => {
it('should remove leading zeroes from int when user types', () => {
assert.equal(removeLeadingZeroes('0'), '0')
assert.equal(removeLeadingZeroes('1'), '1')
assert.equal(removeLeadingZeroes('00'), '0')
assert.equal(removeLeadingZeroes('01'), '1')
})
it('should remove leading zeroes from int when user copy/paste', () => {
assert.equal(removeLeadingZeroes('001'), '1')
})
it('should remove leading zeroes from float when user types', () => {
assert.equal(removeLeadingZeroes('0.'), '0.')
assert.equal(removeLeadingZeroes('0.0'), '0.0')
assert.equal(removeLeadingZeroes('0.00'), '0.00')
assert.equal(removeLeadingZeroes('0.001'), '0.001')
assert.equal(removeLeadingZeroes('0.10'), '0.10')
})
it('should remove leading zeroes from float when user copy/paste', () => {
assert.equal(removeLeadingZeroes('00.1'), '0.1')
})
})
})
Loading…
Cancel
Save