diff --git a/packages/playwright-ct-solid/registerSource.mjs b/packages/playwright-ct-solid/registerSource.mjs index de401f6e4e..04efe4b59e 100644 --- a/packages/playwright-ct-solid/registerSource.mjs +++ b/packages/playwright-ct-solid/registerSource.mjs @@ -92,6 +92,8 @@ function __pwCreateComponent(component) { const children = component.children.reduce((/** @type {any[]} */ children, current) => { const child = __pwCreateChild(current); + if (Array.isArray(child)) + return child.map(grandChild => __pwCreateChild(grandChild)); if (typeof child !== 'string' || !!child.trim()) children.push(child); return children; diff --git a/tests/components/ct-solid/tests/children.spec.tsx b/tests/components/ct-solid/tests/children.spec.tsx index 59c032b030..9fa69ef932 100644 --- a/tests/components/ct-solid/tests/children.spec.tsx +++ b/tests/components/ct-solid/tests/children.spec.tsx @@ -49,8 +49,9 @@ test('render string as child', async ({ mount }) => { }); test('render array as child', async ({ mount }) => { - const component = await mount({[4,2]}); - await expect(component).toContainText('42'); + const component = await mount({[

{[4]}

,

2

]}
); + await expect(component.getByRole('heading', { level: 4 })).toHaveText('4'); + await expect(component.getByRole('paragraph')).toHaveText('2'); }); test('render number as child', async ({ mount }) => {