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': `