From fdf9d32a2e1fd3274f4f7eec462ae1dbac687e0e Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 31 Aug 2017 18:41:50 -0700 Subject: [PATCH] Ensure attribute table server-renders SVG inside SVG container (#10588) --- fixtures/attribute-behavior/src/App.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/fixtures/attribute-behavior/src/App.js b/fixtures/attribute-behavior/src/App.js index 156efa418f..b463f5df82 100644 --- a/fixtures/attribute-behavior/src/App.js +++ b/fixtures/attribute-behavior/src/App.js @@ -2603,11 +2603,24 @@ function getRenderedAttributeValue(renderer, serverRenderer, attribute, type) { let hasTagMismatch = false; let hasUnknownElement = false; try { - const html = serverRenderer.renderToString( - React.createElement(tagName, props) - ); - container = createContainer(); - container.innerHTML = html; + if (containerTagName === 'document') { + const html = serverRenderer.renderToString( + React.createElement(tagName, props) + ); + container = createContainer(); + container.innerHTML = html; + } else { + const html = serverRenderer.renderToString( + React.createElement( + containerTagName, + null, + React.createElement(tagName, props) + ) + ); + const outerContainer = document.createElement('div'); + outerContainer.innerHTML = html; + container = outerContainer.firstChild; + } if ( !container.lastChild ||