fix(ct): solid render array as child (#27715)

This commit is contained in:
Sander 2023-10-20 20:44:30 +02:00 committed by GitHub
parent 6fe31ab52c
commit 27daa5e7b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -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;

View File

@ -49,8 +49,9 @@ test('render string as child', async ({ mount }) => {
});
test('render array as child', async ({ mount }) => {
const component = await mount(<DefaultChildren>{[4,2]}</DefaultChildren>);
await expect(component).toContainText('42');
const component = await mount(<DefaultChildren>{[<h4>{[4]}</h4>,<p>2</p>]}</DefaultChildren>);
await expect(component.getByRole('heading', { level: 4 })).toHaveText('4');
await expect(component.getByRole('paragraph')).toHaveText('2');
});
test('render number as child', async ({ mount }) => {