@@ -101,6 +101,26 @@ suite.addBatch({
101101 assert . strictEqual ( f ( 999500 ) , "999.5k" ) ;
102102 assert . strictEqual ( f ( .009995 ) , "9.995m" ) ;
103103 } ,
104+ "can output SI prefix notation with appropriate rounding and currency symbol" : function ( format ) {
105+ var f = format ( "$.3s" ) ;
106+ assert . strictEqual ( f ( 0 ) , "$0.00" ) ;
107+ assert . strictEqual ( f ( 1 ) , "$1.00" ) ;
108+ assert . strictEqual ( f ( 10 ) , "$10.0" ) ;
109+ assert . strictEqual ( f ( 100 ) , "$100" ) ;
110+ assert . strictEqual ( f ( 999.5 ) , "$1.00k" ) ;
111+ assert . strictEqual ( f ( 999500 ) , "$1.00M" ) ;
112+ assert . strictEqual ( f ( 1000 ) , "$1.00k" ) ;
113+ assert . strictEqual ( f ( 1500.5 ) , "$1.50k" ) ;
114+ assert . strictEqual ( f ( 145500000 ) , "$146M" ) ;
115+ assert . strictEqual ( f ( 145999999.999999347 ) , "$146M" ) ;
116+ assert . strictEqual ( f ( 1e26 ) , "$100Y" ) ;
117+ assert . strictEqual ( f ( .000001 ) , "$1.00µ" ) ;
118+ assert . strictEqual ( f ( .009995 ) , "$0.0100" ) ;
119+ var f = format ( "$.4s" ) ;
120+ assert . strictEqual ( f ( 999.5 ) , "$999.5" ) ;
121+ assert . strictEqual ( f ( 999500 ) , "$999.5k" ) ;
122+ assert . strictEqual ( f ( .009995 ) , "$9.995m" ) ;
123+ } ,
104124 "can output a currency" : function ( format ) {
105125 var f = format ( "$" ) ;
106126 assert . strictEqual ( f ( 0 ) , "$0" ) ;
0 commit comments