diff --git a/index-test.js b/index-test.js index 593ddd33a..24b6de986 100644 --- a/index-test.js +++ b/index-test.js @@ -200,6 +200,7 @@ describe(`reactElementToJSXString(ReactElement)`, () => { ).toEqual(`
`); }); + it(`reactElementToJSXString(
)`, () => { expect( reactElementToJSXString(
) @@ -217,4 +218,40 @@ describe(`reactElementToJSXString(ReactElement)`, () => {
`); }); + + it(`reactElementToJSXString(
`, () => { + expect( + reactElementToJSXString(
) + ).toEqual(`
`); + }); + + it(`reactElementToJSXString(
`, () => { + expect( + reactElementToJSXString(
) + ).toEqual(`
`); + }); + + it(`reactElementToJSXString(
`, () => { + expect( + reactElementToJSXString(
) + ).toEqual(`
`); + }); + + it(`reactElementToJSXString(
`, () => { + expect( + reactElementToJSXString(
) + ).toEqual(`
`); + }); + + it(`reactElementToJSXString(
`, () => { + expect( + reactElementToJSXString(
) + ).toEqual(`
`); + }); + + it(`reactElementToJSXString(
]} />`, () => { + expect( + reactElementToJSXString(
]} />) + ).toEqual(`
]} />`); + }); }); diff --git a/index.js b/index.js index 48755e3c7..bcd8e4277 100644 --- a/index.js +++ b/index.js @@ -116,7 +116,7 @@ function formatValue(value) { return '<__reactElementToJSXString__Wrapper__>' + toJSXString({ReactElement: value, inline: true}) + ''; - } else if (isPlainObject(value)) { + } else if (isPlainObject(value) || Array.isArray(value)) { return '<__reactElementToJSXString__Wrapper__>' + stringifyObject(value) + ''; @@ -132,7 +132,7 @@ function recurse({lvl, inline}) { } function stringifyObject(obj) { - if (Object.keys(obj).length > 0) { + if (Object.keys(obj).length > 0 || obj.length > 0) { obj = traverse(obj).map(function(value) { if (isElement(value) || this.isLeaf) { this.update(formatValue(value));