@@ -158,83 +158,125 @@ describe('ngMock', function() {
158
158
159
159
160
160
describe ( '$log' , function ( ) {
161
- var $log ;
162
- beforeEach ( inject ( [ '$log' , function ( log ) {
163
- $log = log ;
164
- } ] ) ) ;
161
+ forEach ( [ true , false ] , function ( debugEnabled ) {
162
+ describe ( 'debug ' + debugEnabled , function ( ) {
163
+ beforeEach ( module ( function ( $logProvider ) {
164
+ $logProvider . debugEnabled ( debugEnabled ) ;
165
+ } ) ) ;
165
166
166
- afterEach ( inject ( function ( $log ) {
167
- $log . reset ( ) ;
168
- } ) ) ;
167
+ afterEach ( inject ( function ( $log ) {
168
+ $log . reset ( ) ;
169
+ } ) ) ;
169
170
170
- it ( 'should provide log method' , function ( ) {
171
- expect ( function ( ) { $log . log ( '' ) ; } ) . not . toThrow ( ) ;
171
+ it ( "should skip debugging output if disabled" , inject ( function ( $log ) {
172
+ $log . log ( 'fake log' ) ;
173
+ $log . info ( 'fake log' ) ;
174
+ $log . warn ( 'fake log' ) ;
175
+ $log . error ( 'fake log' ) ;
176
+ $log . debug ( 'fake log' ) ;
177
+ expect ( $log . log . logs ) . toContain ( [ 'fake log' ] ) ;
178
+ expect ( $log . info . logs ) . toContain ( [ 'fake log' ] ) ;
179
+ expect ( $log . warn . logs ) . toContain ( [ 'fake log' ] ) ;
180
+ expect ( $log . error . logs ) . toContain ( [ 'fake log' ] ) ;
181
+ if ( debugEnabled ) {
182
+ expect ( $log . debug . logs ) . toContain ( [ 'fake log' ] ) ;
183
+ } else {
184
+ expect ( $log . debug . logs ) . toEqual ( [ ] ) ;
185
+ }
186
+ } ) ) ;
187
+ } ) ;
172
188
} ) ;
173
189
174
- it ( 'should provide info method' , function ( ) {
175
- expect ( function ( ) { $log . info ( '' ) ; } ) . not . toThrow ( ) ;
176
- } ) ;
190
+ describe ( 'debug enabled (default)' , function ( ) {
191
+ var $log ;
192
+ beforeEach ( inject ( [ '$log' , function ( log ) {
193
+ $log = log ;
194
+ } ] ) ) ;
177
195
178
- it ( 'should provide warn method' , function ( ) {
179
- expect ( function ( ) { $log . warn ( '' ) ; } ) . not . toThrow ( ) ;
180
- } ) ;
196
+ afterEach ( inject ( function ( $log ) {
197
+ $log . reset ( ) ;
198
+ } ) ) ;
181
199
182
- it ( 'should provide error method' , function ( ) {
183
- expect ( function ( ) { $log . error ( '' ) ; } ) . not . toThrow ( ) ;
184
- } ) ;
200
+ it ( 'should provide the debug method' , function ( ) {
201
+ expect ( function ( ) { $log . log ( '' ) ; } ) . not . toThrow ( ) ;
202
+ } ) ;
185
203
186
- it ( 'should store log messages' , function ( ) {
187
- $log . log ( 'fake log' ) ;
188
- expect ( $log . log . logs ) . toContain ( [ 'fake log' ] ) ;
189
- } ) ;
204
+ it ( 'should provide the debug method' , function ( ) {
205
+ expect ( function ( ) { $log . info ( '' ) ; } ) . not . toThrow ( ) ;
206
+ } ) ;
190
207
191
- it ( 'should store info messages' , function ( ) {
192
- $log . info ( 'fake log' ) ;
193
- expect ( $log . info . logs ) . toContain ( [ 'fake log' ] ) ;
194
- } ) ;
208
+ it ( 'should provide the debug method' , function ( ) {
209
+ expect ( function ( ) { $log . warn ( '' ) ; } ) . not . toThrow ( ) ;
210
+ } ) ;
195
211
196
- it ( 'should store warn messages' , function ( ) {
197
- $log . warn ( 'fake log' ) ;
198
- expect ( $log . warn . logs ) . toContain ( [ 'fake log' ] ) ;
199
- } ) ;
212
+ it ( 'should provide the debug method' , function ( ) {
213
+ expect ( function ( ) { $log . error ( '' ) ; } ) . not . toThrow ( ) ;
214
+ } ) ;
200
215
201
- it ( 'should store error messages' , function ( ) {
202
- $log . error ( 'fake log' ) ;
203
- expect ( $log . error . logs ) . toContain ( [ 'fake log' ] ) ;
204
- } ) ;
216
+ it ( 'should provide the debug method' , function ( ) {
217
+ expect ( function ( ) { $log . debug ( '' ) ; } ) . not . toThrow ( ) ;
218
+ } ) ;
205
219
206
- it ( 'should assertEmpty' , function ( ) {
207
- try {
220
+ it ( 'should store log messages' , function ( ) {
221
+ $log . log ( 'fake log' ) ;
222
+ expect ( $log . log . logs ) . toContain ( [ 'fake log' ] ) ;
223
+ } ) ;
224
+
225
+ it ( 'should store info messages' , function ( ) {
226
+ $log . info ( 'fake log' ) ;
227
+ expect ( $log . info . logs ) . toContain ( [ 'fake log' ] ) ;
228
+ } ) ;
229
+
230
+ it ( 'should store warn messages' , function ( ) {
231
+ $log . warn ( 'fake log' ) ;
232
+ expect ( $log . warn . logs ) . toContain ( [ 'fake log' ] ) ;
233
+ } ) ;
234
+
235
+ it ( 'should store error messages' , function ( ) {
236
+ $log . error ( 'fake log' ) ;
237
+ expect ( $log . error . logs ) . toContain ( [ 'fake log' ] ) ;
238
+ } ) ;
239
+
240
+ it ( 'should store debug messages' , function ( ) {
241
+ $log . debug ( 'fake log' ) ;
242
+ expect ( $log . debug . logs ) . toContain ( [ 'fake log' ] ) ;
243
+ } ) ;
244
+
245
+ it ( 'should assertEmpty' , function ( ) {
246
+ try {
247
+ $log . error ( Error ( 'MyError' ) ) ;
248
+ $log . warn ( Error ( 'MyWarn' ) ) ;
249
+ $log . info ( Error ( 'MyInfo' ) ) ;
250
+ $log . log ( Error ( 'MyLog' ) ) ;
251
+ $log . debug ( Error ( 'MyDebug' ) ) ;
252
+ $log . assertEmpty ( ) ;
253
+ } catch ( error ) {
254
+ error = error . message || error ;
255
+ expect ( error ) . toMatch ( / E r r o r : M y E r r o r / m) ;
256
+ expect ( error ) . toMatch ( / E r r o r : M y W a r n / m) ;
257
+ expect ( error ) . toMatch ( / E r r o r : M y I n f o / m) ;
258
+ expect ( error ) . toMatch ( / E r r o r : M y L o g / m) ;
259
+ expect ( error ) . toMatch ( / E r r o r : M y D e b u g / m) ;
260
+ } finally {
261
+ $log . reset ( ) ;
262
+ }
263
+ } ) ;
264
+
265
+ it ( 'should reset state' , function ( ) {
208
266
$log . error ( Error ( 'MyError' ) ) ;
209
267
$log . warn ( Error ( 'MyWarn' ) ) ;
210
268
$log . info ( Error ( 'MyInfo' ) ) ;
211
269
$log . log ( Error ( 'MyLog' ) ) ;
212
- $log . assertEmpty ( ) ;
213
- } catch ( error ) {
214
- error = error . message || error ;
215
- expect ( error ) . toMatch ( / E r r o r : M y E r r o r / m) ;
216
- expect ( error ) . toMatch ( / E r r o r : M y W a r n / m) ;
217
- expect ( error ) . toMatch ( / E r r o r : M y I n f o / m) ;
218
- expect ( error ) . toMatch ( / E r r o r : M y L o g / m) ;
219
- } finally {
220
270
$log . reset ( ) ;
221
- }
222
- } ) ;
223
-
224
- it ( 'should reset state' , function ( ) {
225
- $log . error ( Error ( 'MyError' ) ) ;
226
- $log . warn ( Error ( 'MyWarn' ) ) ;
227
- $log . info ( Error ( 'MyInfo' ) ) ;
228
- $log . log ( Error ( 'MyLog' ) ) ;
229
- $log . reset ( ) ;
230
- var passed = false ;
231
- try {
232
- $log . assertEmpty ( ) ; // should not throw error!
233
- passed = true ;
234
- } catch ( e ) {
235
- passed = e ;
236
- }
237
- expect ( passed ) . toBe ( true ) ;
271
+ var passed = false ;
272
+ try {
273
+ $log . assertEmpty ( ) ; // should not throw error!
274
+ passed = true ;
275
+ } catch ( e ) {
276
+ passed = e ;
277
+ }
278
+ expect ( passed ) . toBe ( true ) ;
279
+ } ) ;
238
280
} ) ;
239
281
} ) ;
240
282
0 commit comments