diff --git a/src/__tests__/__node__/prepare-render.node.js b/src/__tests__/__node__/prepare-render.node.js index b7a1239..851cbb6 100644 --- a/src/__tests__/__node__/prepare-render.node.js +++ b/src/__tests__/__node__/prepare-render.node.js @@ -386,3 +386,19 @@ tape('Preparing an async app with componentWillReceiveProps option', t => { t.end(); }); }); + +tape('Preparing a Fragment', t => { + const app = ( + + 1 + 2 + + ); + const p = prepare(app); + t.ok(p instanceof Promise, 'prepare returns a promise'); + p.then(() => { + const wrapper = shallow(
{app}
); + t.equal(wrapper.find('span').length, 2, 'has two children'); + t.end(); + }); +}); diff --git a/src/prepare.js b/src/prepare.js index 5a756fe..f390831 100644 --- a/src/prepare.js +++ b/src/prepare.js @@ -41,7 +41,10 @@ function prepareElement(element, context) { return Promise.resolve([null, context]); } const {type, props} = element; - if (typeof type === 'string') { + if ( + typeof type === 'string' || + type.toString() === React.Fragment.toString() + ) { return Promise.resolve([props.children, context]); } if (!isReactCompositeComponent(type)) {