@@ -10,14 +10,26 @@ const strip = require('strip-ansi');
10
10
const weblog = require ( '../src' ) ;
11
11
12
12
describe ( 'log' , ( ) => {
13
- let consoleMock ;
13
+ let consoleInfoMock ;
14
+ let consoleWarnMock ;
15
+ let consoleDebugMock ;
16
+ let consoleTraceMock ;
17
+ let consoleErrorMock ;
14
18
15
19
beforeEach ( ( ) => {
16
- consoleMock = jest . spyOn ( console , 'info' ) ;
20
+ consoleInfoMock = jest . spyOn ( console , 'info' ) ;
21
+ consoleWarnMock = jest . spyOn ( console , 'warn' ) ;
22
+ consoleDebugMock = jest . spyOn ( console , 'debug' ) ;
23
+ consoleTraceMock = jest . spyOn ( console , 'trace' ) ;
24
+ consoleErrorMock = jest . spyOn ( console , 'error' ) ;
17
25
} ) ;
18
26
19
27
afterEach ( ( ) => {
20
- consoleMock . mockRestore ( ) ;
28
+ consoleInfoMock . mockRestore ( ) ;
29
+ consoleWarnMock . mockRestore ( ) ;
30
+ consoleDebugMock . mockRestore ( ) ;
31
+ consoleTraceMock . mockRestore ( ) ;
32
+ consoleErrorMock . mockRestore ( ) ;
21
33
} ) ;
22
34
23
35
it ( 'should exist' , ( ) => {
@@ -71,7 +83,7 @@ describe('log', () => {
71
83
log . info ( 'webpack-dev-server' ) ;
72
84
log2 . info ( 'webpack-dev-middleware' ) ;
73
85
74
- const [ first , last ] = consoleMock . mock . calls ;
86
+ const [ first , last ] = consoleInfoMock . mock . calls ;
75
87
76
88
expect ( strip ( first [ 0 ] ) ) . toMatchSnapshot ( ) ;
77
89
expect ( strip ( last [ 0 ] ) ) . toMatchSnapshot ( ) ;
@@ -103,8 +115,58 @@ describe('log', () => {
103
115
104
116
log . info ( 'webpack-dev-server' ) ;
105
117
106
- const [ first ] = consoleMock . mock . calls ;
118
+ const [ first ] = consoleInfoMock . mock . calls ;
107
119
108
120
expect ( first [ 0 ] ) . toMatchSnapshot ( ) ;
109
121
} ) ;
122
+
123
+ it ( 'should return logs with prefix' , ( ) => {
124
+ const log = weblog ( { name : 'wds' , id : 'foo' } ) ;
125
+
126
+ {
127
+ log . level = 'trace' ;
128
+ log . trace ( 'webpack-dev-server' ) ;
129
+
130
+ const [ first ] = consoleTraceMock . mock . calls ;
131
+
132
+ expect ( strip ( first [ 0 ] ) ) . toMatchSnapshot ( ) ;
133
+ }
134
+
135
+ {
136
+ log . level = 'info' ;
137
+ log . info ( 'webpack-dev-server' ) ;
138
+
139
+ const [ first ] = consoleInfoMock . mock . calls ;
140
+
141
+ expect ( strip ( first [ 0 ] ) ) . toMatchSnapshot ( ) ;
142
+ }
143
+
144
+ {
145
+ log . level = 'warn' ;
146
+ log . warn ( 'webpack-dev-server' ) ;
147
+
148
+ const [ first ] = consoleWarnMock . mock . calls ;
149
+
150
+ expect ( strip ( first [ 0 ] ) ) . toMatchSnapshot ( ) ;
151
+ }
152
+
153
+ {
154
+ log . level = 'error' ;
155
+ log . error ( 'webpack-dev-server' ) ;
156
+
157
+ const [ first ] = consoleErrorMock . mock . calls ;
158
+
159
+ expect ( strip ( first [ 0 ] . split ( '\n' ) [ 0 ] ) ) . toMatchSnapshot ( ) ;
160
+ }
161
+ } ) ;
162
+
163
+ it ( 'should attach timestamp' , ( ) => {
164
+ const log = weblog ( { name : 'wds' , timestamp : true } ) ;
165
+
166
+ log . info ( 'webpack-dev-server' ) ;
167
+
168
+ const [ first ] = consoleInfoMock . mock . calls ;
169
+
170
+ expect ( ! ! first [ 0 ] . match ( / [ \d \d : \d \d : \d \d ] / ) ) . toBeTruthy ( ) ;
171
+ } ) ;
110
172
} ) ;
0 commit comments