Follow up from https://github.com/facebook/react/pull/11616.

Here's one I found. These two invariants:

https://github.com/facebook/react/blob/7e7127387ba64f57299eaff8656542cea6fb3a2d/packages/react-reconciler/src/ReactFiberClassComponent.js#L330-L343

are in a function that's behind a DEV block:

https://github.com/facebook/react/blob/7e7127387ba64f57299eaff8656542cea6fb3a2d/packages/react-reconciler/src/ReactFiberClassComponent.js#L447-L449

I don't think this is intentional, but need to verify.

There may be more. I'll use this issue to track while https://github.com/facebook/react/pull/11616 preserves existing behavior.
}
      });
    });
    describe('escaping >, <, and &', function() {
      itRenders('>,<, and & as single child', async render => {
        const e = await render(<div>{'<span>Text&quot;</span>'}</div>);
        expect(e.childNodes.length).toBe(1);
        expectNode(e.firstChild, TEXT_NODE_TYPE, '<span>Text&quot;</span>');
      });
      itRenders('>,<, and & as multiple children', async render => {
        const e = await render(
          <div>
            {'<span>Text1&quot;</span>'}
            {'<span>Text2&quot;</span>'}
          </div>,
        );
        if (
          render === serverRender ||
          render === clientRenderOnServerString ||
          render === streamRender
        ) {
          expect(e.childNodes.length).toBe(3);
          expectTextNode(e.childNodes[0], '<span>Text1&quot;</span>');
          expectTextNode(e.childNodes[2], '<span>Text2&quot;</span>');
        } else {
          expect(e.childNodes.length).toBe(2);
          expectTextNode(e.childNodes[0], '<span>Text1&quot;</span>');
          expectTextNode(e.childNodes[1], '<span>Text2&quot;</span>');
        }
      });