Skip to content

Commit a01b4ee

Browse files
committed
test: Fix integration tests for dedupes
1 parent daf1357 commit a01b4ee

File tree

1 file changed

+20
-19
lines changed
  • packages/browser/test/integration

1 file changed

+20
-19
lines changed

packages/browser/test/integration/test.js

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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, /this is fine \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, /different message, same stacktrace \d+/);
260+
assert.match(sentryData[1].message, /different message, same stacktrace \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

Comments
 (0)