From 9e9d3e5f00c5e83826495b74ae5862e863e88df8 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Tue, 4 May 2021 16:01:20 -0400 Subject: [PATCH] Allow complex objects as children of option only if value is provided --- .../src/__tests__/ReactDOMOption-test.js | 115 +++++++++++++++--- .../ReactDOMServerIntegrationSelect-test.js | 28 ++--- .../react-dom/src/client/ReactDOMComponent.js | 8 +- .../src/client/ReactDOMHostConfig.js | 1 - .../react-dom/src/client/ReactDOMOption.js | 76 ++++-------- .../src/server/ReactDOMServerFormatConfig.js | 17 ++- .../src/server/ReactPartialRenderer.js | 20 ++- 7 files changed, 164 insertions(+), 101 deletions(-) diff --git a/packages/react-dom/src/__tests__/ReactDOMOption-test.js b/packages/react-dom/src/__tests__/ReactDOMOption-test.js index a81dd32f1f1ba..4271b87386c2e 100644 --- a/packages/react-dom/src/__tests__/ReactDOMOption-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMOption-test.js @@ -12,12 +12,14 @@ describe('ReactDOMOption', () => { let React; let ReactDOM; + let ReactDOMServer; let ReactTestUtils; beforeEach(() => { jest.resetModules(); React = require('react'); ReactDOM = require('react-dom'); + ReactDOMServer = require('react-dom/server'); ReactTestUtils = require('react-dom/test-utils'); }); @@ -32,9 +34,9 @@ describe('ReactDOMOption', () => { expect(node.innerHTML).toBe('1 foo'); }); - it('should ignore and warn invalid children types', () => { + it('should warn for invalid child tags', () => { const el = ( -