@samitouri / QOS-React / commits / ef8d6d92a2

Handle nested Fragments in toTree (#12106) (#12107)

Maciej Kasprzyk committed Jan 28, 2018 at 00:03 UTC ef8d6d92a28835a8ab89a876f877306a5c3feffe
2 files changed +24
packages/react-test-renderer/src/ReactTestRenderer.js
+2
@@ -338,6 +338,8 @@ function toTree(node: ?Fiber) {
338 };
339 case HostText: // 6
340 return node.stateNode.text;
341 + case Fragment: // 10
342 + return toTree(node.child);
343 default:
344 invariant(
345 false,
packages/react-test-renderer/src/__tests__/ReactTestRenderer-test.js
+22
@@ -530,6 +530,28 @@ describe('ReactTestRenderer', () => {
530 );
531 });
532
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 +
555 it('toTree() handles null rendering components', () => {
556 class Foo extends React.Component {
557 render() {