diff --git a/packages/playwright-ct-react/registerSource.mjs b/packages/playwright-ct-react/registerSource.mjs index 2827d4d8ab..813ff4d88b 100644 --- a/packages/playwright-ct-react/registerSource.mjs +++ b/packages/playwright-ct-react/registerSource.mjs @@ -33,6 +33,7 @@ function isJsxComponent(component) { } /** + * Turns the Playwright representation of JSX (see jsx-runtime.js) into React.createElement calls. * @param {any} value */ function __pwRender(value) { @@ -40,7 +41,7 @@ function __pwRender(value) { if (isJsxComponent(v)) { const component = v; let type = component.type; - if (type && type.__pw_jsx_fragment) // detects the playwright mock Fragment (see jsx-runtime.js), used in <> notation + if (type && type.__pw_jsx_fragment) type = __pwReact.Fragment; const props = component.props ? __pwRender(component.props) : {}; const key = component.key ? __pwRender(component.key) : undefined; diff --git a/packages/playwright/jsx-runtime.js b/packages/playwright/jsx-runtime.js index 28df099d02..ff3d79e34e 100644 --- a/packages/playwright/jsx-runtime.js +++ b/packages/playwright/jsx-runtime.js @@ -32,6 +32,7 @@ function jsxs(type, props, key) { }; } +// this is used in <> notation const Fragment = { __pw_jsx_fragment: true }; module.exports = {