From b96d6057ff1baef396bc85a9bef8684762691864 Mon Sep 17 00:00:00 2001 From: Alexandre Kirszenberg Date: Thu, 18 Aug 2016 17:12:58 +0200 Subject: [PATCH] Fix ReactTestInstance::toJSON() with empty top-level components --- src/renderers/testing/ReactTestMount.js | 3 +++ src/renderers/testing/__tests__/ReactTestRenderer-test.js | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/renderers/testing/ReactTestMount.js b/src/renderers/testing/ReactTestMount.js index a58acb15af332..d964a1390a65f 100644 --- a/src/renderers/testing/ReactTestMount.js +++ b/src/renderers/testing/ReactTestMount.js @@ -122,6 +122,9 @@ ReactTestInstance.prototype.unmount = function(nextElement) { }; ReactTestInstance.prototype.toJSON = function() { var inst = getHostComponentFromComposite(this._component); + if (inst === null) { + return null; + } return inst.toJSON(); }; diff --git a/src/renderers/testing/__tests__/ReactTestRenderer-test.js b/src/renderers/testing/__tests__/ReactTestRenderer-test.js index a20d442686d3b..24fff957ddc46 100644 --- a/src/renderers/testing/__tests__/ReactTestRenderer-test.js +++ b/src/renderers/testing/__tests__/ReactTestRenderer-test.js @@ -28,6 +28,14 @@ describe('ReactTestRenderer', function() { }); }); + it('renders a top-level empty component', function() { + function Empty() { + return null; + } + var renderer = ReactTestRenderer.create(); + expect(renderer.toJSON()).toEqual(null); + }); + it('exposes a type flag', function() { function Link() { return ;