@@ -348,4 +348,48 @@ describe('util', function () {
348
348
assert ( util . checkExistingAddresses ( 'b' , tokenList ) === false )
349
349
} )
350
350
} )
351
+
352
+ describe ( 'toPrecisionWithoutTrailingZeros' , function ( ) {
353
+ const testData = [
354
+ { args : [ '0' , 9 ] , result : '0' } ,
355
+ { args : [ 0 , 9 ] , result : '0' } ,
356
+ { args : [ '0.0' , 9 ] , result : '0' } ,
357
+ { args : [ '0.000000000000' , 9 ] , result : '0' } ,
358
+ { args : [ '1' , 9 ] , result : '1' } ,
359
+ { args : [ 1 ] , result : '1' } ,
360
+ { args : [ '1.0' , 9 ] , result : '1' } ,
361
+ { args : [ '1.000000000' , 9 ] , result : '1' } ,
362
+ { args : [ '000000001' , 9 ] , result : '1' } ,
363
+ { args : [ '000000001.0' , 9 ] , result : '1' } ,
364
+ { args : [ '100000000' , 9 ] , result : '100000000' } ,
365
+ { args : [ '100000000.00001' , 9 ] , result : '100000000' } ,
366
+ { args : [ '100.00001' , 9 ] , result : '100.00001' } ,
367
+ { args : [ '100.00001000' , 9 ] , result : '100.00001' } ,
368
+ { args : [ '100.000010001' , 9 ] , result : '100.00001' } ,
369
+ { args : [ '10.010101' , 9 ] , result : '10.010101' } ,
370
+ { args : [ '0.1' , 5 ] , result : '0.1' } ,
371
+ { args : [ '0.10' , 5 ] , result : '0.1' } ,
372
+ { args : [ '0.1010' , 5 ] , result : '0.101' } ,
373
+ { args : [ '0.01001' , 5 ] , result : '0.01001' } ,
374
+ { args : [ '0.010010' , 5 ] , result : '0.01001' } ,
375
+ { args : [ '0.010011' , 5 ] , result : '0.010011' } ,
376
+ { args : [ '1.01005' , 5 ] , result : '1.0101' } ,
377
+ { args : [ '1.000049' , 5 ] , result : '1' } ,
378
+ { args : [ '1.00005' , 5 ] , result : '1.0001' } ,
379
+ { args : [ '0.0000123456789' , 9 ] , result : '0.0000123456789' } ,
380
+ { args : [ '1.0000123456789' , 10 ] , result : '1.000012346' } ,
381
+ { args : [ '10000.0000012345679' , 10 ] , result : '10000' } ,
382
+ { args : [ '1000000000000' , 10 ] , result : '1e+12' } ,
383
+ { args : [ '1000050000000' , 10 ] , result : '1.00005e+12' } ,
384
+ { args : [ '100000000000000000000' , 10 ] , result : '1e+20' } ,
385
+ { args : [ '100005000000000000000' , 10 ] , result : '1.00005e+20' } ,
386
+ { args : [ '100005000000000000000.0' , 10 ] , result : '1.00005e+20' } ,
387
+ ]
388
+
389
+ testData . forEach ( ( { args, result } ) => {
390
+ it ( `should return ${ result } when passed number ${ args [ 0 ] } and precision ${ args [ 1 ] } ` , function ( ) {
391
+ assert . equal ( util . toPrecisionWithoutTrailingZeros ( ...args ) , result )
392
+ } )
393
+ } )
394
+ } )
351
395
} )
0 commit comments