From fe2002c3d855904c8f272c402f7a321d5bac5c37 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Mon, 23 May 2016 17:22:05 -0700 Subject: [PATCH] Add test to ensure 'undefined' children is used (#6853) --- .../classic/element/__tests__/ReactElement-test.js | 12 ++++++++++++ .../modern/element/__tests__/ReactJSXElement-test.js | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/isomorphic/classic/element/__tests__/ReactElement-test.js b/src/isomorphic/classic/element/__tests__/ReactElement-test.js index 8b3900db9f..fac4c6c416 100644 --- a/src/isomorphic/classic/element/__tests__/ReactElement-test.js +++ b/src/isomorphic/classic/element/__tests__/ReactElement-test.js @@ -223,6 +223,18 @@ describe('ReactElement', function() { expect(console.error.argsForCall.length).toBe(0); }); + it('overrides children if undefined is provided as an argument', function() { + var element = React.createElement(ComponentClass, { + children: 'text', + }, undefined); + expect(element.props.children).toBe(undefined); + + var element2 = React.cloneElement(React.createElement(ComponentClass, { + children: 'text', + }), {}, undefined); + expect(element2.props.children).toBe(undefined); + }); + it('merges rest arguments onto the children prop in an array', function() { spyOn(console, 'error'); var a = 1; diff --git a/src/isomorphic/modern/element/__tests__/ReactJSXElement-test.js b/src/isomorphic/modern/element/__tests__/ReactJSXElement-test.js index 95126ca111..5adf59d503 100644 --- a/src/isomorphic/modern/element/__tests__/ReactJSXElement-test.js +++ b/src/isomorphic/modern/element/__tests__/ReactJSXElement-test.js @@ -117,6 +117,18 @@ describe('ReactJSXElement', function() { expect(console.error.argsForCall.length).toBe(0); }); + it('overrides children if undefined is provided as an argument', function() { + var element = {undefined}; + expect(element.props.children).toBe(undefined); + + var element2 = React.cloneElement( + , + {}, + undefined + ); + expect(element2.props.children).toBe(undefined); + }); + it('merges JSX children onto the children prop in an array', function() { spyOn(console, 'error'); var a = 1;