Skip to content

Commit ef8d6d9

Browse files
maciej-kaaweary
authored andcommitted
Handle nested Fragments in toTree (#12106) (#12107)
1 parent 40a9e64 commit ef8d6d9

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-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

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

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

0 commit comments

Comments
 (0)