diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts
index 84f37be292..d6a07a47a3 100644
--- a/tests/playwright-test/reporter-html.spec.ts
+++ b/tests/playwright-test/reporter-html.spec.ts
@@ -442,8 +442,11 @@ for (const useIntermediateMergeReport of [false, true] as const) {
`,
'a.test.js': `
import { test, expect } from '@playwright/test';
+ async function evaluateWrapper(page, expression) {
+ await page.evaluate(expression);
+ }
test('passes', async ({ page }) => {
- await page.evaluate('2 + 2');
+ await evaluateWrapper(page, '2 + 2');
});
`,
}, { reporter: 'dot,html' }, { PW_TEST_HTML_REPORT_OPEN: 'never' });
@@ -468,6 +471,36 @@ for (const useIntermediateMergeReport of [false, true] as const) {
await expect(page.getByTestId('stack-trace-list').locator('.list-view-entry.selected')).toContainText('a.test.js');
});
+ test('should not show stack trace', async ({ runInlineTest, page, showReport }) => {
+ const result = await runInlineTest({
+ 'playwright.config.js': `
+ module.exports = { use: { trace: 'on' } };
+ `,
+ 'a.test.js': `
+ import { test, expect } from '@playwright/test';
+ test('passes', async ({ page }) => {
+ await page.evaluate('2 + 2');
+ });
+ `,
+ }, { reporter: 'dot,html' }, { PW_TEST_HTML_REPORT_OPEN: 'never' });
+ expect(result.exitCode).toBe(0);
+ expect(result.passed).toBe(1);
+
+ await showReport();
+ await page.click('text=passes');
+ await page.click('img');
+ await page.click('.action-title >> text=page.evaluate');
+ await page.click('text=Source');
+
+ await expect(page.locator('.CodeMirror-line')).toContainText([
+ /import.*test/,
+ /page\.evaluate/
+ ]);
+ await expect(page.locator('.source-line-running')).toContainText('page.evaluate');
+
+ await expect(page.getByTestId('stack-trace-list')).toHaveCount(0);
+ });
+
test('should show trace title', async ({ runInlineTest, page, showReport }) => {
const result = await runInlineTest({
'playwright.config.js': `