@@ -89,6 +89,22 @@ ruleTester.run('no-array-index-key', rule, {
89
89
90
90
{
91
91
code : 'foo.reduceRight((a, b, i) => a.concat(<Foo key={b.id} />), [])'
92
+ } ,
93
+
94
+ {
95
+ code : `
96
+ React.Children.map(this.props.children, (child, index, arr) => {
97
+ return React.cloneElement(child, { key: child.id });
98
+ })
99
+ `
100
+ } ,
101
+
102
+ {
103
+ code : `
104
+ Children.forEach(this.props.children, (child, index, arr) => {
105
+ return React.cloneElement(child, { key: child.id });
106
+ })
107
+ `
92
108
}
93
109
] ,
94
110
@@ -227,6 +243,43 @@ ruleTester.run('no-array-index-key', rule, {
227
243
{
228
244
code : 'foo.findIndex((bar, i) => { baz.push(React.createElement(\'Foo\', { key: i })); })' ,
229
245
errors : [ { message : 'Do not use Array index in keys' } ]
246
+ } ,
247
+
248
+ {
249
+ code : `
250
+ Children.map(this.props.children, (child, index) => {
251
+ return React.cloneElement(child, { key: index });
252
+ })
253
+ ` ,
254
+ errors : [ { message : 'Do not use Array index in keys' } ]
255
+ } ,
256
+
257
+ {
258
+ code : `
259
+ React.Children.map(this.props.children, (child, index) => {
260
+ return React.cloneElement(child, { key: index });
261
+ })
262
+ ` ,
263
+ errors : [ { message : 'Do not use Array index in keys' } ]
264
+ } ,
265
+
266
+ {
267
+ code : `
268
+ Children.forEach(this.props.children, (child, index) => {
269
+ return React.cloneElement(child, { key: index });
270
+ })
271
+ ` ,
272
+ errors : [ { message : 'Do not use Array index in keys' } ]
273
+ } ,
274
+
275
+ {
276
+ code : `
277
+ React.Children.forEach(this.props.children, (child, index) => {
278
+ return React.cloneElement(child, { key: index });
279
+ })
280
+ ` ,
281
+ errors : [ { message : 'Do not use Array index in keys' } ]
230
282
}
283
+
231
284
]
232
285
} ) ;
0 commit comments