@@ -22,6 +22,11 @@ function flushRavenState() {
22
22
startTime = 0 ;
23
23
ravenNotConfiguredError = undefined ;
24
24
originalConsole = window . console || { } ;
25
+ originalConsoleMethods = { } ;
26
+
27
+ for ( var method in originalConsole ) {
28
+ originalConsoleMethods [ method ] = originalConsole [ method ] ;
29
+ }
25
30
26
31
Raven . uninstall ( ) ;
27
32
}
@@ -326,23 +331,33 @@ describe('globals', function() {
326
331
327
332
it ( 'should not write to console when Raven.debug is false' , function ( ) {
328
333
Raven . debug = false ;
329
- this . sinon . stub ( originalConsole , level ) ;
334
+ this . sinon . stub ( originalConsoleMethods , level ) ;
330
335
logDebug ( level , message ) ;
331
- assert . isFalse ( originalConsole [ level ] . called ) ;
336
+ assert . isFalse ( originalConsoleMethods [ level ] . called ) ;
332
337
} ) ;
333
338
334
339
it ( 'should write to console when Raven.debug is true' , function ( ) {
335
340
Raven . debug = true ;
336
- this . sinon . stub ( originalConsole , level ) ;
341
+ this . sinon . stub ( originalConsoleMethods , level ) ;
337
342
logDebug ( level , message ) ;
338
- assert . isTrue ( originalConsole [ level ] . calledOnce ) ;
343
+ assert . isTrue ( originalConsoleMethods [ level ] . calledOnce ) ;
339
344
} ) ;
340
345
341
346
it ( 'should handle variadic arguments' , function ( ) {
342
347
Raven . debug = true ;
343
- this . sinon . stub ( originalConsole , level ) ;
348
+ this . sinon . stub ( originalConsoleMethods , level ) ;
344
349
logDebug ( level , message , { } , 'foo' ) ;
345
350
} ) ;
351
+
352
+ it ( 'should be unaffected by monkeypatches to the console built-in' , function ( ) {
353
+ Raven . debug = true ;
354
+ this . sinon . stub ( console , level ) . throws ( "can't touch this" ) ;
355
+ this . sinon . stub ( originalConsoleMethods , level ) ;
356
+ logDebug ( level , message ) ;
357
+ assert . isTrue ( originalConsoleMethods [ level ] . calledOnce ) ;
358
+ assert . isFalse ( console [ level ] . called ) ;
359
+ console [ level ] . restore ( ) ;
360
+ } ) ;
346
361
} ) ;
347
362
348
363
describe ( 'setAuthQueryString' , function ( ) {
0 commit comments