Skip to content

Commit b769c22

Browse files
utkarshkukretimarvinhagemeister
authored andcommitted
Indent Fragment's children when pretty printing. (#117)
1 parent 7444288 commit b769c22

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
6969
getChildren(children, vnode.props.children);
7070

7171
for (let i = 0; i < children.length; i++) {
72-
rendered += renderToString(children[i], context, opts, opts.shallowHighOrder!==false, isSvgMode, selectValue);
72+
rendered += (i > 0 && pretty ? '\n' : '') + renderToString(children[i], context, opts, opts.shallowHighOrder!==false, isSvgMode, selectValue);
7373
}
7474
return rendered;
7575
}

test/render.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,22 @@ describe('render', () => {
651651
expect(html).to.equal('<div><div>foo</div><div>bar</div></div>');
652652
});
653653

654+
it('should indent Fragment children when pretty printing', () => {
655+
let html = render(
656+
<div>
657+
<Fragment>
658+
<div>foo</div>
659+
<div>bar</div>
660+
<div>
661+
<div>baz</div>
662+
<div>quux</div>
663+
</div>
664+
</Fragment>
665+
</div>, undefined, { pretty: true }
666+
);
667+
expect(html).to.equal('<div>\n\t<div>foo</div>\n\t<div>bar</div>\n\t<div>\n\t\t<div>baz</div>\n\t\t<div>quux</div>\n\t</div>\n</div>');
668+
});
669+
654670
it('should skip Fragment even if it has props', () => {
655671
let html = render(
656672
<div>

0 commit comments

Comments
 (0)