@@ -225,3 +225,37 @@ t.test('should getContents of a tarball with a node_modules directory included',
225225 } , 'contents are correct' )
226226 t . end ( )
227227} )
228+
229+ t . test ( 'should log byte sizes correctly' , async ( t ) => {
230+ const cases = [
231+ [ 0 , '0 B' , '0B' ] ,
232+ [ 1 , '1 B' , '1B' ] ,
233+ [ 10 , '10 B' , '10B' ] ,
234+ [ 999 , '999 B' , '999B' ] ,
235+ [ 1000 , '1.0 kB' , '1.0kB' ] ,
236+ [ 1001 , '1.0 kB' , '1.0kB' ] ,
237+ [ 1500 , '1.5 kB' , '1.5kB' ] ,
238+ [ 999999 , '1.0 MB' , '1.0MB' ] ,
239+ [ 1000000 , '1.0 MB' , '1.0MB' ] ,
240+ [ 999999999 , '1.0 GB' , '1.0GB' ] ,
241+ [ 1000000000 , '1.0 GB' , '1.0GB' ] ,
242+ ]
243+
244+ for ( const [ size , expected , expectedNoSpace ] of cases ) {
245+ const logs = printLogs ( {
246+ name : 'pkg' ,
247+ version : '1.0.0' ,
248+ files : [
249+ { path : 'file.txt' , size : size } ,
250+ ] ,
251+ bundled : [ ] ,
252+ size : size ,
253+ unpackedSize : size ,
254+ integrity : 'sha512-xxx' ,
255+ } )
256+
257+ t . match ( logs , `package size: ${ expected } ` , `package size: ${ expected } ` )
258+ t . match ( logs , `unpacked size: ${ expected } ` , `unpacked size: ${ expected } ` )
259+ t . match ( logs , `${ expectedNoSpace } file.txt` , `file size: ${ expectedNoSpace } ` )
260+ }
261+ } )
0 commit comments