1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 02:10:12 +01:00

Merge pull request #4699 from TrejGun/removeLeadingZeroes

move removeLeadingZeroes to utils, add test
This commit is contained in:
Dan J Miller 2018-07-03 15:01:48 -02:30 committed by GitHub
commit 4bdd59b055
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 4 deletions

View File

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

View File

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

View File

@ -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')
})
})
})