diff --git a/examples/todomvc/tests/integration.spec.ts b/examples/todomvc/tests/integration.spec.ts index 9f910b9e2e..8bc56948bb 100644 --- a/examples/todomvc/tests/integration.spec.ts +++ b/examples/todomvc/tests/integration.spec.ts @@ -1,6 +1,7 @@ /* eslint-disable notice/notice */ -import { test, expect, Page } from '@playwright/test'; +import { test, expect } from '@playwright/test'; +import type { Page } from '@playwright/test'; test.describe.configure({ mode: 'parallel' }); @@ -396,8 +397,7 @@ test.describe('Routing', () => { await expect(page.getByRole('link', { name: 'All' })).toHaveClass('selected'); await page.getByRole('link', { name: 'Active' }).click(); // Page change - active items. - await expect(page.getByRole('link', { name: 'Active' })). - toHaveClass('selected'); + await expect(page.getByRole('link', { name: 'Active' })).toHaveClass('selected'); await page.getByRole('link', { name: 'Completed' }).click(); // Page change - completed items. await expect(page.getByRole('link', { name: 'Completed' })).toHaveClass('selected'); diff --git a/packages/playwright-core/src/client/page.ts b/packages/playwright-core/src/client/page.ts index 1dd4f79937..0692ac9209 100644 --- a/packages/playwright-core/src/client/page.ts +++ b/packages/playwright-core/src/client/page.ts @@ -697,8 +697,12 @@ export class Page extends ChannelOwner implements api.Page } async pause() { - if (!require('inspector').url()) - await this.context()._channel.pause(); + if (require('inspector').url()) + return; + await Promise.race([ + this.context()._channel.pause(), + this._closedOrCrashedPromise + ]); } async pdf(options: PDFOptions = {}): Promise {