7
7
*/
8
8
9
9
const assume = require ( 'assume' ) ;
10
+ const Logger = require ( '../../../lib/winston/logger' ) ;
10
11
const Profiler = require ( '../../../lib/winston/profiler' ) ;
11
-
12
+ const { PassThrough } = require ( 'stream' ) ;
12
13
describe ( 'Profiler' , function ( ) {
13
14
it ( 'new Profiler()' , function ( ) {
14
15
assume ( function ( ) {
15
- var profiler = new Profiler ( ) ;
16
- } ) . throws ( ) ;
16
+ new Profiler ( ) ;
17
+ } ) . throws ( 'Logger is required for profiling' ) ;
17
18
} ) ;
18
19
19
20
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 ) ;
31
31
setTimeout ( function ( ) {
32
32
profiler . done ( {
33
33
something : 'ok' ,
@@ -36,4 +36,30 @@ describe('Profiler', function () {
36
36
} ) ;
37
37
} , 200 ) ;
38
38
} ) ;
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
+ } )
39
65
} ) ;
0 commit comments