diff --git a/packages/react/src/__tests__/ReactChildren-test.js b/packages/react/src/__tests__/ReactChildren-test.js
index a767a38c2f3..65733dab157 100644
--- a/packages/react/src/__tests__/ReactChildren-test.js
+++ b/packages/react/src/__tests__/ReactChildren-test.js
@@ -114,6 +114,40 @@ describe('ReactChildren', () => {
expect(mappedChildren[0]).toEqual();
});
+ it('should use the same key pattern for single child and array with one item', () => {
+ const unkeyedSingleChild = ;
+ const unkeyedArrayChild = ;
+
+ const unkeyedSingleInstance =
{unkeyedSingleChild}
;
+ const unkeyedArrayInstance = {[unkeyedArrayChild]}
;
+
+ const mappedUnkeyedSingle = React.Children.map(
+ unkeyedSingleInstance.props.children,
+ child => child,
+ );
+ const mappedUnkeyedArray = React.Children.map(
+ unkeyedArrayInstance.props.children,
+ child => child,
+ );
+ expect(mappedUnkeyedSingle[0].key).toBe(mappedUnkeyedArray[0].key);
+
+ const keyedSingleChild = ;
+ const keyedArrayChild = ;
+
+ const keyedSingleInstance = {keyedSingleChild}
;
+ const keyedArrayInstance = {[keyedArrayChild]}
;
+
+ const mappedKeyedSingle = React.Children.map(
+ keyedSingleInstance.props.children,
+ child => child,
+ );
+ const mappedKeyedArray = React.Children.map(
+ keyedArrayInstance.props.children,
+ child => child,
+ );
+ expect(mappedKeyedSingle[0].key).toBe(mappedKeyedArray[0].key);
+ });
+
it('should be called for each child', () => {
const zero = ;
const one = null;