@@ -17,6 +17,8 @@ const simpleMethods = [
1717 'map'
1818] ;
1919
20+ const simpleMethodsExceptForEach = simpleMethods . filter ( name => name !== 'forEach' ) ;
21+
2022const reduceLikeMethods = [
2123 'reduce' ,
2224 'reduceRight'
@@ -125,7 +127,7 @@ ruleTester.run('no-array-callback-reference', rule, {
125127 ] ,
126128 invalid : [
127129 // Suggestions
128- ...simpleMethods . map (
130+ ...simpleMethodsExceptForEach . map (
129131 method => invalidTestCase ( {
130132 code : `foo.${ method } (fn)` ,
131133 method,
@@ -137,6 +139,16 @@ ruleTester.run('no-array-callback-reference', rule, {
137139 ]
138140 } )
139141 ) ,
142+ invalidTestCase ( {
143+ code : 'foo.forEach(fn)' ,
144+ method : 'forEach' ,
145+ name : 'fn' ,
146+ suggestions : [
147+ 'foo.forEach((element) => { fn(element); })' ,
148+ 'foo.forEach((element, index) => { fn(element, index); })' ,
149+ 'foo.forEach((element, index, array) => { fn(element, index, array); })'
150+ ]
151+ } ) ,
140152 ...reduceLikeMethods . map (
141153 method => invalidTestCase ( {
142154 code : `foo.${ method } (fn)` ,
@@ -151,7 +163,7 @@ ruleTester.run('no-array-callback-reference', rule, {
151163 ) ,
152164
153165 // 2 arguments
154- ...simpleMethods . map (
166+ ...simpleMethodsExceptForEach . map (
155167 method => invalidTestCase ( {
156168 code : `foo.${ method } (fn, thisArgument)` ,
157169 method,
@@ -163,6 +175,16 @@ ruleTester.run('no-array-callback-reference', rule, {
163175 ]
164176 } )
165177 ) ,
178+ invalidTestCase ( {
179+ code : 'foo.forEach(fn, thisArgument)' ,
180+ method : 'forEach' ,
181+ name : 'fn' ,
182+ suggestions : [
183+ 'foo.forEach((element) => { fn(element); }, thisArgument)' ,
184+ 'foo.forEach((element, index) => { fn(element, index); }, thisArgument)' ,
185+ 'foo.forEach((element, index, array) => { fn(element, index, array); }, thisArgument)'
186+ ]
187+ } ) ,
166188 ...reduceLikeMethods . map (
167189 method => invalidTestCase ( {
168190 code : `foo.${ method } (fn, initialValue)` ,
@@ -191,7 +213,7 @@ ruleTester.run('no-array-callback-reference', rule, {
191213 ) ,
192214
193215 // Not `Identifier`
194- ...simpleMethods . map (
216+ ...simpleMethodsExceptForEach . map (
195217 method => invalidTestCase ( {
196218 code : `foo.${ method } (lib.fn)` ,
197219 method,
0 commit comments