@@ -237,29 +237,30 @@ describe('integration', function() {
237
237
iframe ,
238
238
done ,
239
239
function ( ) {
240
- var count = 2 ;
241
- setTimeout ( function invoke ( ) {
242
- // use setTimeout to capture new error objects that have
243
- // identical stack traces (can't call sequentially or callsite
244
- // line number will change)
245
- Sentry . captureMessage ( 'this is fine ' + Date . now ( ) ) ; // this will be called twice with different messages, but same stacktrace
246
- if ( count === 1 ) Sentry . captureMessage ( 'this is fine' ) ; // suppressed
247
- if ( count === 1 ) Sentry . captureMessage ( 'this is fine' ) ; // suppressed
248
- if ( count === 1 ) Sentry . captureMessage ( "i'm okay with the events that are unfolding currently" ) ;
249
- if ( count === 1 ) Sentry . captureMessage ( "that's okay, things are going to be okay" ) ;
240
+ setTimeout ( done ) ;
250
241
251
- if ( -- count === 0 ) return setTimeout ( done ) ;
252
- else setTimeout ( invoke ) ;
253
- } ) ;
242
+ for ( var i = 0 ; i < 2 ; i ++ ) {
243
+ // Different messages, same stacktrace, don't dedupe
244
+ Sentry . captureMessage ( 'different message, same stacktrace ' + Date . now ( ) ) ;
245
+ }
246
+
247
+ for ( var i = 0 ; i < 2 ; i ++ ) {
248
+ // Same messages and same stacktrace, dedupe
249
+ Sentry . captureMessage ( 'same message, same stacktrace' ) ;
250
+ }
251
+
252
+ // Same messages, different stacktrace (different line number), don't dedupe
253
+ Sentry . captureMessage ( 'same message, different stacktrace' ) ;
254
+ Sentry . captureMessage ( 'same message, different stacktrace' ) ;
254
255
} ,
255
256
function ( ) {
256
257
var sentryData = iframe . contentWindow . sentryData ;
257
- // NOTE: regex because exact error message differs per-browser
258
- assert . equal ( sentryData . length , 4 ) ;
259
- assert . match ( sentryData [ 0 ] . message , / t h i s i s f i n e \d + / ) ;
260
- assert . equal ( sentryData [ 1 ] . message , 'this is fine ' ) ;
261
- assert . equal ( sentryData [ 2 ] . message , "i'm okay with the events that are unfolding currently" ) ;
262
- assert . equal ( sentryData [ 3 ] . message , "that's okay, things are going to be okay" ) ;
258
+ assert . equal ( sentryData . length , 5 ) ;
259
+ assert . match ( sentryData [ 0 ] . message , / d i f f e r e n t m e s s a g e , s a m e s t a c k t r a c e \d + / ) ;
260
+ assert . match ( sentryData [ 1 ] . message , / d i f f e r e n t m e s s a g e , s a m e s t a c k t r a c e \d + / ) ;
261
+ assert . equal ( sentryData [ 2 ] . message , 'same message, same stacktrace ' ) ;
262
+ assert . equal ( sentryData [ 3 ] . message , 'same message, different stacktrace' ) ;
263
+ assert . equal ( sentryData [ 4 ] . message , 'same message, different stacktrace' ) ;
263
264
} ,
264
265
) ;
265
266
} ) ;
0 commit comments