Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/tests_primary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,23 @@ jobs:
command: npm run ttest -- ${{ matrix.os == 'playwright-x64-server2025-64-core' && '--workers 16' || '' }}
bot-name: "${{ matrix.os }}-node${{ matrix.node-version }}"

test_test_runner_bun:
name: Test Runner - ubuntu-large - bun
runs-on: playwright-x64-ubuntu24-64-core
permissions:
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: 1.4.3
- uses: ./.github/actions/run-test
with:
command: npm run ttest
bot-name: "playwright-x64-ubuntu24-64-core-bun"
env:
PW_BUN: 1

test_test_runner_mac:
name: Test Runner - ${{ matrix.os }} (${{ matrix.shardIndex }}/${{ matrix.shardTotal }})
strategy:
Expand Down
4 changes: 2 additions & 2 deletions packages/playwright/src/common/configLoader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ export async function deserializeConfig(data: SerializedConfig): Promise<FullCon

async function loadUserConfig(location: ConfigLocation): Promise<Config> {
let object = location.resolvedConfigFile ? await requireOrImport(location.resolvedConfigFile) : {};
if (object && typeof object === 'object' && ('default' in object))
object = object['default'];
if (object && typeof object === 'object')
Comment thread
pavelfeldman marked this conversation as resolved.
object = ('default' in object) ? object['default'] : { ...object };
return object as Config;
}

Expand Down
9 changes: 5 additions & 4 deletions packages/playwright/src/transform/transform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -414,11 +414,12 @@ function nodeCallerLocation(error: Error, stackFrames: NodeJS.CallSite[]) {

function bunCallerLocation(error: Error, stackFrames: NodeJS.CallSite[]) {
const frame = stackFrames[1];
// Bun's CallSite.getColumnNumber() is 0-based, and Bun does not apply source maps of .js files.
const position = sourceMapSupport.mapSourcePosition({ source: frame.getFileName()!, line: frame.getLineNumber()!, column: frame.getColumnNumber()! });
return {
file: frame.getFileName(),
line: frame.getLineNumber(),
// Bun's CallSite.getColumnNumber() is 0-based.
column: frame.getColumnNumber()! + 1,
file: position.source,
line: position.line,
column: position.column + 1,
};
}

Expand Down
636 changes: 636 additions & 0 deletions tests/bidi/expectations/bidi-chromium-library.conf

Large diffs are not rendered by default.

636 changes: 0 additions & 636 deletions tests/bidi/expectations/bidi-chromium-library.txt

This file was deleted.

282 changes: 282 additions & 0 deletions tests/bidi/expectations/bidi-chromium-page.conf

Large diffs are not rendered by default.

282 changes: 0 additions & 282 deletions tests/bidi/expectations/bidi-chromium-page.txt

This file was deleted.

213 changes: 213 additions & 0 deletions tests/bidi/expectations/moz-firefox-nightly-library.conf

Large diffs are not rendered by default.

213 changes: 0 additions & 213 deletions tests/bidi/expectations/moz-firefox-nightly-library.txt

This file was deleted.

159 changes: 159 additions & 0 deletions tests/bidi/expectations/moz-firefox-nightly-page.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
page/elementhandle-click.spec.ts > should double click the button [fixme]
page/elementhandle-click.spec.ts > should work for TextNodes [fixme]
page/elementhandle-content-frame.spec.ts > should work for cross-frame evaluations [fixme]
page/elementhandle-screenshot.spec.ts > element screenshot > should work for an element with an offset [fixme]
page/elementhandle-screenshot.spec.ts > element screenshot > should work with a rotated element [fixme]
page/elementhandle-scroll-into-view.spec.ts > should scroll display:contents into view [fixme]
page/elementhandle-scroll-into-view.spec.ts > should throw for detached element [fixme]
page/elementhandle-scroll-into-view.spec.ts > should timeout waiting for visible [fixme]
page/elementhandle-scroll-into-view.spec.ts > should wait for display:none to become visible [fixme]
page/elementhandle-scroll-into-view.spec.ts > should wait for nested display:none to become visible [fixme]
page/elementhandle-scroll-into-view.spec.ts > should work @smoke [fixme]
page/frame-evaluate.spec.ts > should allow cross-frame element handles [fixme]
page/frame-evaluate.spec.ts > should dispose context on cross-origin navigation [fixme]
page/frame-evaluate.spec.ts > should dispose context on navigation [fixme]
page/frame-hierarchy.spec.ts > should support framesets [fixme]
page/interception.spec.ts > should disable memory cache when intercepting [fixme]
page/interception.spec.ts > should intercept worker requests when enabled after worker creation [fixme]
page/jshandle-to-string.spec.ts > should beautifully render sparse arrays [fixme]
page/locator-click.spec.ts > should double click the button [fixme]
page/locator-click.spec.ts > should work for TextNodes [fixme]
page/locator-misc-2.spec.ts > should scroll into view [fixme]
page/network-post-data.spec.ts > should get post data for file/blob [fixme]
page/network-post-data.spec.ts > should get post data for navigator.sendBeacon api calls [fixme]
page/network-post-data.spec.ts > should return correct postData buffer for utf-8 body [fixme]
page/network-post-data.spec.ts > should return post data for PUT requests [fixme]
page/network-post-data.spec.ts > should return post data w/o content-type @smoke [fixme]
page/network-post-data.spec.ts > should throw on invalid JSON in post data [fixme]
page/network-request-body.spec.ts > should get request body for file/blob [fixme]
page/network-request-body.spec.ts > should get request body for navigator.sendBeacon api calls [fixme]
page/network-request-body.spec.ts > should return body for PUT requests [fixme]
page/network-request-body.spec.ts > should return correct request body buffer for utf-8 body [fixme]
page/network-request-body.spec.ts > should return request body w/o content-type @smoke [fixme]
page/network-request-body.spec.ts > should throw on invalid JSON in post data [fixme]
page/page-accessibility.spec.ts > autocomplete [fixme]
page/page-accessibility.spec.ts > checkbox with and tabIndex and label should not have children [fixme]
page/page-accessibility.spec.ts > checkbox without label should not have children [fixme]
page/page-accessibility.spec.ts > keyshortcuts [fixme]
page/page-accessibility.spec.ts > multiselectable [fixme]
page/page-accessibility.spec.ts > non editable textbox with role and tabIndex and label should not have children [fixme]
page/page-accessibility.spec.ts > orientation [fixme]
page/page-accessibility.spec.ts > rich text editable fields should have children [fixme]
page/page-accessibility.spec.ts > rich text editable fields with role should have children [fixme]
page/page-accessibility.spec.ts > roledescription [fixme]
page/page-accessibility.spec.ts > should not report text nodes inside controls [fixme]
page/page-accessibility.spec.ts > should return null when the element is no longer in DOM [fixme]
page/page-accessibility.spec.ts > should show uninteresting nodes [fixme]
page/page-accessibility.spec.ts > should work @smoke [fixme]
page/page-accessibility.spec.ts > should work a button [fixme]
page/page-accessibility.spec.ts > should work an input [fixme]
page/page-accessibility.spec.ts > should work on a menu [fixme]
page/page-accessibility.spec.ts > should work when there is a title [fixme]
page/page-accessibility.spec.ts > should work with aria-invalid accessibility tree [fixme]
page/page-accessibility.spec.ts > should work with regular text [fixme]
page/page-add-init-script.spec.ts > init script should run only once in iframe [fixme]
page/page-add-init-script.spec.ts > init script should run only once in popup [fixme]
page/page-add-init-script-callback.spec.ts > should call a function passed as an argument [fixme]
page/page-add-init-script-callback.spec.ts > should work in a child frame [fixme]
page/page-add-script-tag.spec.ts > should throw when added with content to the CSP page [fixme]
page/page-add-style-tag.spec.ts > should throw when added with content to the CSP page [fixme]
page/page-aria-snapshot-ai.spec.ts > return empty snapshot when iframe is not loaded [fixme]
page/page-basic.spec.ts > frame.press should work [fixme]
page/page-basic.spec.ts > should return null if parent page has been closed [fixme]
page/page-click-scroll.spec.ts > should scroll into view display:contents [fixme]
page/page-click-scroll.spec.ts > should scroll into view display:contents with position [fixme]
page/page-click.spec.ts > should click a button that is overlaid by a permission popup [fixme]
page/page-click.spec.ts > should click in a nested transformed iframe [fixme]
page/page-click.spec.ts > should click in a transformed iframe [fixme]
page/page-click.spec.ts > should click in a transformed iframe with force [fixme]
page/page-click.spec.ts > should click the button with fixed position inside an iframe [fixme]
page/page-click.spec.ts > should double click the button [fixme]
page/page-click.spec.ts > should not retain removed iframe after clicking inside it [fixme]
page/page-click.spec.ts > should select the text by triple clicking [fixme]
page/page-drag.spec.ts > Drag and drop > should cancel on escape [fixme]
page/page-drag.spec.ts > Drag and drop > should respect the drop effect [fixme]
page/page-drag.spec.ts > Drag and drop > should send the right events [fixme]
page/page-drag.spec.ts > Drag and drop > should work @smoke [fixme]
page/page-drag.spec.ts > Drag and drop > should work if a frame is stalled [fixme]
page/page-drag.spec.ts > Drag and drop > should work if the drag event is captured but not canceled [fixme]
page/page-drag.spec.ts > Drag and drop > should work inside iframe [fixme]
page/page-drag.spec.ts > Drag and drop > should work with locators [fixme]
page/page-drag.spec.ts > Drag and drop > should work with the helper method [fixme]
page/page-drag.spec.ts > should handle custom dataTransfer [fixme]
page/page-emulate-media.spec.ts > should change the actual colors in css [fixme]
page/page-emulate-media.spec.ts > should default to light [fixme]
page/page-emulate-media.spec.ts > should emulate colorScheme should work @smoke [fixme]
page/page-emulate-media.spec.ts > should emulate contrast [fixme]
page/page-emulate-media.spec.ts > should emulate forcedColors [fixme]
page/page-emulate-media.spec.ts > should emulate reduced motion [fixme]
page/page-emulate-media.spec.ts > should emulate type @smoke [fixme]
page/page-emulate-media.spec.ts > should keep reduced motion and color emulation after reload [fixme]
page/page-emulate-media.spec.ts > should report hover and fine pointer for desktop [fixme]
page/page-emulate-media.spec.ts > should work during navigation [fixme]
page/page-event-console.spec.ts > should trigger correct Log [fixme]
page/page-event-console.spec.ts > should work @smoke [fixme]
page/page-event-request.spec.ts > should report requests and responses handled by service worker [fixme]
page/page-event-request.spec.ts > should report requests and responses handled by service worker with routing [fixme]
page/page-expose-function.spec.ts > should work with setContent [fixme]
page/page-filechooser.spec.ts > should be able to reset selected files with empty file list [fixme]
page/page-filechooser.spec.ts > should emit event for iframe [fixme]
page/page-filechooser.spec.ts > should respect timeout [fixme]
page/page-goto.spec.ts > should override referrer-policy [fixme]
page/page-goto.spec.ts > should send referer [fixme]
page/page-goto.spec.ts > should send referer of cross-origin URL [fixme]
page/page-history.spec.ts > goBack/goForward should work with bfcache-able pages [fixme]
page/page-history.spec.ts > page.goBack should work for file urls [fixme]
page/page-history.spec.ts > regression test for issue 20791 [fixme]
page/page-keyboard.spec.ts > should press audio and media control keys [fixme]
page/page-mouse.spec.ts > should always round down [fixme]
page/page-mouse.spec.ts > should dblclick the div [fixme]
page/page-network-idle.spec.ts > should not wait for an open EventSource connection [fixme]
page/page-network-idle.spec.ts > should not wait for an open EventSource connection in setContent [fixme]
page/page-network-request.spec.ts > should not allow to access frame on popup main request [fixme]
page/page-network-request.spec.ts > should not get preflight CORS requests when intercepting [fixme]
page/page-network-request.spec.ts > should parse the data if content-type is application/x-www-form-urlencoded [fixme]
page/page-network-request.spec.ts > should parse the data if content-type is application/x-www-form-urlencoded; charset=UTF-8 [fixme]
page/page-network-request.spec.ts > should parse the json post data [fixme]
page/page-network-request.spec.ts > should return event source [fixme]
page/page-network-request.spec.ts > should return multipart/form-data [fixme]
page/page-network-request.spec.ts > should return postData [fixme]
page/page-network-request.spec.ts > should work with binary post data [fixme]
page/page-network-request.spec.ts > should work with binary post data and interception [fixme]
page/page-network-response.spec.ts > should reject response.finished if context closes [fixme]
page/page-network-response.spec.ts > should report all headers [fixme]
page/page-network-response.spec.ts > should report if request was fromServiceWorker [fixme]
page/page-network-response.spec.ts > should report multiple set-cookie headers [fixme]
page/page-network-response.spec.ts > should return non-utf8 body even when content-type says utf8 [fixme]
page/page-network-response.spec.ts > should wait until response completes [fixme]
page/page-request-continue.spec.ts > continue with headers should send fresh cookie from the browser cookie store [fixme]
page/page-request-continue.spec.ts > should not throw if request was cancelled by the page [fixme]
page/page-request-fulfill.spec.ts > should fulfill with gzip and readback [fixme]
page/page-request-fulfill.spec.ts > should not throw if request was cancelled by the page [fixme]
page/page-request-intercept.spec.ts > request.postData is not null when fetching FormData with a Blob [fixme]
page/page-request-intercept.spec.ts > should intercept multipart/form-data request body [fixme]
page/page-route.spec.ts > should be abortable with custom error codes [fixme]
page/page-route.spec.ts > should intercept when postData is more than 1MB [fixme]
page/page-route.spec.ts > should not override cookie header [fixme]
page/page-route.spec.ts > should not throw if request was cancelled by the page [fixme]
page/page-screenshot.spec.ts > page screenshot animations > should not capture css animations in shadow DOM [fixme]
page/page-screenshot.spec.ts > page screenshot animations > should not capture pseudo element css animation [fixme]
page/page-screenshot.spec.ts > page screenshot > should allow transparency [fixme]
page/page-set-input-files.spec.ts > should upload a folder [fixme]
page/page-wait-for-load-state.spec.ts > should wait for load state of about:blank popup [fixme]
page/page-wait-for-load-state.spec.ts > should wait for load state of about:blank popup with noopener [fixme]
page/page-wait-for-load-state.spec.ts > should wait for load state of empty url popup [fixme]
page/wheel.spec.ts > should dispatch wheel events after popup was opened @smoke [fixme]
page/workers.spec.ts > Page.workers @smoke [fixme]
page/workers.spec.ts > should attribute network activity for worker inside iframe to the iframe [fixme]
page/workers.spec.ts > should clear upon cross-process navigation [fixme]
page/workers.spec.ts > should clear upon navigation [fixme]
page/workers.spec.ts > should dispatch console messages when page has workers [fixme]
page/workers.spec.ts > should emit created and destroyed events [fixme]
page/workers.spec.ts > should evaluate [fixme]
page/workers.spec.ts > should have JSHandles for console logs [fixme]
page/workers.spec.ts > should report and intercept network from nested worker [fixme]
page/workers.spec.ts > should report console event on the worker [fixme]
page/workers.spec.ts > should report console event on the worker when not listening on page or context [fixme]
page/workers.spec.ts > should report network activity [fixme]
page/workers.spec.ts > should support extra http headers [fixme]
page/workers.spec.ts > should support offline [fixme]
Loading
Loading