@@ -2218,6 +2218,60 @@ describe('Raven (public API)', function() {
2218
2218
} ) ;
2219
2219
} ) ;
2220
2220
2221
+ describe ( 'maxErrors config' , function ( ) {
2222
+
2223
+ it ( 'allows many errors when maxErrors is undefined' , function ( ) {
2224
+ var stub = this . sinon . stub ( Raven , '_sendProcessedPayload' )
2225
+ this . sinon . spy ( stub )
2226
+
2227
+ Raven . captureException ( new Error ( 'foo' ) )
2228
+ Raven . captureException ( new Error ( 'foo' ) )
2229
+ Raven . captureException ( new Error ( 'foo' ) )
2230
+ Raven . captureException ( new Error ( 'foo' ) )
2231
+ Raven . captureException ( new Error ( 'foo' ) )
2232
+
2233
+
2234
+ assert . equal ( Raven . _sendProcessedPayload . callCount , 5 ) ;
2235
+ } ) ;
2236
+
2237
+ it ( 'should only allow up to maxErrors requests' , function ( ) {
2238
+ var stub = this . sinon . stub ( Raven , '_sendProcessedPayload' )
2239
+ this . sinon . spy ( stub )
2240
+
2241
+ Raven . _globalOptions . maxErrors = 3 ;
2242
+
2243
+ Raven . captureException ( new Error ( 'foo' ) )
2244
+ Raven . captureException ( new Error ( 'foo' ) )
2245
+ Raven . captureException ( new Error ( 'foo' ) )
2246
+ Raven . captureException ( new Error ( 'foo' ) )
2247
+ Raven . captureException ( new Error ( 'foo' ) )
2248
+
2249
+ assert . equal ( Raven . _sendProcessedPayload . callCount , 3 ) ;
2250
+ } ) ;
2251
+
2252
+ it ( 'should reset maxErrors on SPA page change' , function ( ) {
2253
+ var stub = this . sinon . stub ( Raven , '_sendProcessedPayload' )
2254
+ this . sinon . spy ( stub )
2255
+
2256
+ Raven . _globalOptions . maxErrors = 3 ;
2257
+
2258
+ Raven . captureException ( new Error ( 'foo' ) )
2259
+ Raven . captureException ( new Error ( 'foo' ) )
2260
+ Raven . captureException ( new Error ( 'foo' ) )
2261
+ Raven . captureException ( new Error ( 'foo' ) )
2262
+
2263
+ assert . equal ( Raven . _sendProcessedPayload . callCount , 3 ) ;
2264
+
2265
+ Raven . _captureUrlChange ( '/foo' , '/bar' ) ;
2266
+
2267
+ Raven . captureException ( new Error ( 'foo' ) )
2268
+ Raven . captureException ( new Error ( 'foo' ) )
2269
+
2270
+ assert . equal ( Raven . _sendProcessedPayload . callCount , 5 ) ;
2271
+ } ) ;
2272
+
2273
+ } ) ;
2274
+
2221
2275
describe ( '._captureUrlChange' , function ( ) {
2222
2276
it ( 'should create a new breadcrumb from its "from" and "to" arguments' , function ( ) {
2223
2277
Raven . _breadcrumbs = [ ] ;
0 commit comments