From 4cf5768ba3d31dfc06d56cf2df36f3962aabff30 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Tue, 1 Aug 2017 11:20:38 +0100 Subject: [PATCH 1/2] Test for specific SSR warning --- .../dom/shared/__tests__/ReactMount-test.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/renderers/dom/shared/__tests__/ReactMount-test.js b/src/renderers/dom/shared/__tests__/ReactMount-test.js index 5b4f2695563f..a522675d74e1 100644 --- a/src/renderers/dom/shared/__tests__/ReactMount-test.js +++ b/src/renderers/dom/shared/__tests__/ReactMount-test.js @@ -153,13 +153,24 @@ describe('ReactMount', () => { spyOn(console, 'error'); ReactDOM.render(
, container); expectDev(console.error.calls.count()).toBe(1); + if (ReactDOMFeatureFlags.useFiber) { + expectDev(console.error.calls.argsFor(0)[0]).toContain( + 'Did not expect server HTML to contain the text node " " in .', + ); + } else { + expectDev(console.error.calls.argsFor(0)[0]).toContain( + 'Target node has markup rendered by React, but there are unrelated nodes as well.', + ); + } + console.error.calls.reset(); ReactDOM.unmountComponentAtNode(container); - container.innerHTML = ' ' + ReactDOMServer.renderToString(
); - ReactDOM.render(
, container); - expectDev(console.error.calls.count()).toBe(2); + expectDev(console.error.calls.count()).toBe(1); + expectDev(console.error.calls.argsFor(0)[0]).toContain( + 'Target node has markup rendered by React, but there are unrelated nodes as well.', + ); }); it('should not warn if mounting into non-empty node', () => { From a9d82ba6a524412668931d26cd97edf8466cad89 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Tue, 1 Aug 2017 14:08:35 +0100 Subject: [PATCH 2/2] Same in another place --- .../shared/__tests__/ReactServerRendering-test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/renderers/dom/shared/__tests__/ReactServerRendering-test.js b/src/renderers/dom/shared/__tests__/ReactServerRendering-test.js index 8254f1277092..5834b828d2da 100644 --- a/src/renderers/dom/shared/__tests__/ReactServerRendering-test.js +++ b/src/renderers/dom/shared/__tests__/ReactServerRendering-test.js @@ -312,6 +312,18 @@ describe('ReactDOMServer', () => { instance = ReactDOM.render(, element); expect(mountCount).toEqual(4); expectDev(console.error.calls.count()).toBe(1); + if (ReactDOMFeatureFlags.useFiber) { + expectDev(console.error.calls.argsFor(0)[0]).toContain( + 'Text content did not match. Server: "x" Client: "y"', + ); + } else { + expectDev(console.error.calls.argsFor(0)[0]).toContain( + '(client) -- react-text: 3 -->yx