Skip to content

Commit 2193456

Browse files
committed
Handle nested Fragments in toTree (facebook#12106)
1 parent 40a9e64 commit 2193456

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

packages/react-test-renderer/src/ReactTestRenderer.js

+2
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ function toTree(node: ?Fiber) {
338338
};
339339
case HostText: // 6
340340
return node.stateNode.text;
341+
case Fragment: // 10
342+
return toTree(node.child);
341343
default:
342344
invariant(
343345
false,

packages/react-test-renderer/src/__tests__/ReactTestRenderer-test.js

+18
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,24 @@ describe('ReactTestRenderer', () => {
530530
);
531531
});
532532

533+
it('toTree() handles nested Fragments', () => {
534+
const Foo = () => <React.Fragment><React.Fragment>foo</React.Fragment></React.Fragment>;
535+
const renderer = ReactTestRenderer.create(<Foo />);
536+
const tree = renderer.toTree();
537+
538+
cleanNodeOrArray(tree);
539+
540+
expect(prettyFormat(tree)).toEqual(
541+
prettyFormat({
542+
nodeType: "component",
543+
type: Foo,
544+
instance: null,
545+
props: {},
546+
rendered: "foo",
547+
}),
548+
);
549+
})
550+
533551
it('toTree() handles null rendering components', () => {
534552
class Foo extends React.Component {
535553
render() {

0 commit comments

Comments
 (0)