77 */ 
88
99const  assume  =  require ( 'assume' ) ; 
10+ const  Logger  =  require ( '../../../lib/winston/logger' ) ; 
1011const  Profiler  =  require ( '../../../lib/winston/profiler' ) ; 
11- 
12+ const   {  PassThrough  }   =   require ( 'stream' ) ; 
1213describe ( 'Profiler' ,  function  ( )  { 
1314  it ( 'new Profiler()' ,  function  ( )  { 
1415    assume ( function  ( )  { 
15-       var   profiler   =   new  Profiler ( ) ; 
16-     } ) . throws ( ) ; 
16+       new  Profiler ( ) ; 
17+     } ) . throws ( 'Logger is required for profiling' ) ; 
1718  } ) ; 
1819
1920  it ( '.done({ info })' ,  function  ( done )  { 
20-     var  profiler  =  new  Profiler ( { 
21-       write : function  ( info )  { 
22-         assume ( info ) . is . an ( 'object' ) ; 
23-         assume ( info . something ) . equals ( 'ok' ) ; 
24-         assume ( info . level ) . equals ( 'info' ) ; 
25-         assume ( info . durationMs ) . is . a ( 'number' ) ; 
26-         assume ( info . message ) . equals ( 'testing1' ) ; 
27-         done ( ) ; 
28-       } 
29-     } ) ; 
30- 
21+     const  logger  =  new  Logger ( ) ; 
22+     logger . write  =  function  ( info )  { 
23+       assume ( info ) . is . an ( 'object' ) ; 
24+       assume ( info . something ) . equals ( 'ok' ) ; 
25+       assume ( info . level ) . equals ( 'info' ) ; 
26+       assume ( info . durationMs ) . is . a ( 'number' ) ; 
27+       assume ( info . message ) . equals ( 'testing1' ) ; 
28+       done ( ) ; 
29+     } ; 
30+     var  profiler  =  new  Profiler ( logger ) ; 
3131    setTimeout ( function  ( )  { 
3232      profiler . done ( { 
3333        something : 'ok' , 
@@ -36,4 +36,30 @@ describe('Profiler', function () {
3636      } ) ; 
3737    } ,  200 ) ; 
3838  } ) ; 
39+ 
40+   it ( 'non logger object' ,  function ( ) { 
41+     assume ( function ( )  { 
42+       new  Profiler ( new  Error ( 'Unknown error' ) ) ; 
43+     } ) . throws ( 'Logger is required for profiling' ) ; 
44+ 
45+     assume ( function  ( )  { 
46+       new  Profiler ( { a :'b' } ) ; 
47+     } ) . throws ( 'Logger is required for profiling' ) ; 
48+ 
49+     assume ( function ( ) { 
50+       new  Profiler ( [ 1 , 2 , 3 , 4 ] ) ; 
51+     } ) . throws ( 'Logger is required for profiling' ) ; 
52+ 
53+     assume ( function  ( )  { 
54+       new  Profiler ( new  PassThrough ( ) ) ; 
55+     } ) . throws ( 'Logger is required for profiling' ) ; 
56+ 
57+     assume ( function  ( )  { 
58+       new  Profiler ( 2 ) ; 
59+     } ) . throws ( 'Logger is required for profiling' ) ; 
60+     
61+     assume ( function  ( )  { 
62+       new  Profiler ( '1' ) ; 
63+     } ) . throws ( 'Logger is required for profiling' ) ; 
64+   } ) 
3965} ) ; 
0 commit comments