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;