@@ -158,83 +158,125 @@ describe('ngMock', function() {
158158
159159
160160 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+ } ) ) ;
165166
166- afterEach ( inject ( function ( $log ) {
167- $log . reset ( ) ;
168- } ) ) ;
167+ afterEach ( inject ( function ( $log ) {
168+ $log . reset ( ) ;
169+ } ) ) ;
169170
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+ } ) ;
172188 } ) ;
173189
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+ } ] ) ) ;
177195
178- it ( 'should provide warn method' , function ( ) {
179- expect ( function ( ) { $log . warn ( '' ) ; } ) . not . toThrow ( ) ;
180- } ) ;
196+ afterEach ( inject ( function ( $log ) {
197+ $log . reset ( ) ;
198+ } ) ) ;
181199
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+ } ) ;
185203
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+ } ) ;
190207
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+ } ) ;
195211
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+ } ) ;
200215
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+ } ) ;
205219
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 ( ) {
208266 $log . error ( Error ( 'MyError' ) ) ;
209267 $log . warn ( Error ( 'MyWarn' ) ) ;
210268 $log . info ( Error ( 'MyInfo' ) ) ;
211269 $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 {
220270 $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+ } ) ;
238280 } ) ;
239281 } ) ;
240282
0 commit comments