Observed this on react@16.0.0-beta.5

```js
import React from 'react';
import { renderToString } from 'react-dom/server';

const B = () => 'b';

console.log(renderToString(<div>{'a'}<B />{'c'}</div>));
```

This renders as `<div data-reactroot="">a<!-- -->bc</div>`. If you try to hydrate this you'll get the error: Text content did not match. Server: "bc" Client: "b".
child2 = e.childNodes[2];
          expect(child1.id).toBe('child1');
          expect(child1.childNodes.length).toBe(0);
          expectTextNode(textNode, ' ');
          expect(child2.id).toBe('child2');
          expect(child2.childNodes.length).toBe(0);
        },
      );
      itRenders(
        'a div with a single child surrounded by whitespace',
        async render => {
          
          const e = await render(<div id="parent">  <div id="child" />   </div>); 
          let textNode1, child, textNode2;
          expect(e.childNodes.length).toBe(3);
          textNode1 = e.childNodes[0];
          child = e.childNodes[1];
          textNode2 = e.childNodes[2];
          expect(e.id).toBe('parent');
          expectTextNode(textNode1, '  ');
          expect(child.id).toBe('child');
          expect(child.childNodes.length).toBe(0);
          expectTextNode(textNode2, '   ');
        },
      );
      itRenders('a composite with multiple children', async render => {
        const Component = props => props.children;
        const e = await render(
          <Component>{['a', 'b', [undefined], [[false, 'c']]]}</Component>,
        );