Calling `ReactDOMServer.renderToStaticMarkup(elementWithPortal);` gets stuck in a loop while trying to do a static render.

Current behavior:
The behavior can be seen here: https://codepen.io/anon/pen/BmqWOM  by un-commenting line 58 (warning: this will make your tab freeze)

Expected behavior:
It should return with results or throw some kind of error if the input is not valid

</div>,
    );
    if (__DEV__) {
      expect(console.error.calls.count()).toBe(2);
      expect(console.error.calls.argsFor(0)[0]).toBe(
        'Warning: <inPUT /> is using uppercase HTML. Always use lowercase ' +
          'HTML tags in React.',
      );
      
      expect(console.error.calls.argsFor(1)[0]).toBe(
        'Warning: <iFrame /> is using uppercase HTML. Always use lowercase ' +
          'HTML tags in React.',
      );
    }
  });
  it('should warn about contentEditable and children', () => {
    spyOnDev(console, 'error');
    ReactDOMServer.renderToString(<div contentEditable={true} children="" />);
    if (__DEV__) {
      expect(console.error.calls.count()).toBe(1);
      expect(normalizeCodeLocInfo(console.error.calls.argsFor(0)[0])).toBe(
        'Warning: A component is `contentEditable` and contains `children` ' +
          'managed by React. It is now your responsibility to guarantee that ' +
          'none of those nodes are unexpectedly modified or duplicated. This ' +
          'is probably not intentional.\n    in div (at **)',
      );
    }
  });
});