@@ -237,29 +237,30 @@ describe('integration', function() {
237237 iframe ,
238238 done ,
239239 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 ) ;
250241
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' ) ;
254255 } ,
255256 function ( ) {
256257 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' ) ;
263264 } ,
264265 ) ;
265266 } ) ;
0 commit comments