Skip to content

Commit ddd1efe

Browse files
committed
ref: Ensure window.open works
1 parent b9a7507 commit ddd1efe

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

packages/browser-integration-tests/suites/replay/slowClick/template.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ <h1 id="h2">Bottom</h1>
7171
}, 3001);
7272
});
7373
document.getElementById('windowOpenButton').addEventListener('click', () => {
74-
setTimeout(() => {
75-
window.open('.');
76-
}, 3001);
74+
window.open('https://example.com/', '_self');
7775
});
7876

7977
// Do nothing on these elements

packages/browser-integration-tests/suites/replay/slowClick/windowOpen/test.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,18 @@ sentryTest('window.open() is considered for slow click', async ({ getLocalTestUr
2626
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
2727
const { breadcrumbs } = getCustomRecordingEvents(res);
2828

29-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.slowClickDetected');
29+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
3030
});
3131

3232
await page.click('#windowOpenButton');
33+
const navPromise = page.waitForURL('https://example.com/');
3334

3435
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
3536

36-
const slowClickBreadcrumbs = breadcrumbs.filter(breadcrumb => breadcrumb.category === 'ui.slowClickDetected');
37-
38-
expect(slowClickBreadcrumbs).toEqual([
37+
expect(breadcrumbs).toEqual([
3938
{
40-
category: 'ui.slowClickDetected',
39+
category: 'ui.click',
4140
data: {
42-
endReason: 'window.open',
4341
node: {
4442
attributes: {
4543
id: 'windowOpenButton',
@@ -49,14 +47,15 @@ sentryTest('window.open() is considered for slow click', async ({ getLocalTestUr
4947
textContent: '****** ****',
5048
},
5149
nodeId: expect.any(Number),
52-
timeAfterClickMs: expect.any(Number),
53-
url: 'http://sentry-test.io/index.html',
5450
},
5551
message: 'body > button#windowOpenButton',
5652
timestamp: expect.any(Number),
53+
type: 'default',
5754
},
5855
]);
5956

60-
expect(slowClickBreadcrumbs[0]?.data?.timeAfterClickMs).toBeGreaterThan(3000);
61-
expect(slowClickBreadcrumbs[0]?.data?.timeAfterClickMs).toBeLessThan(3100);
57+
await navPromise;
58+
59+
// Ensure window.open() still works as expected
60+
expect(await page.url()).toBe('https://example.com/');
6261
});

0 commit comments

Comments
 (0)