@@ -299,11 +299,20 @@ function createSuite() {
299299 fnOrOptions ,
300300 )
301301
302+ const fnFirst = typeof optionsOrFn === 'function'
303+
302304 cases . forEach ( ( i , idx ) => {
303305 const items = Array . isArray ( i ) ? i : [ i ]
304- arrayOnlyCases
305- ? suite ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( ...items ) )
306- : suite ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( i ) )
306+ if ( fnFirst ) {
307+ arrayOnlyCases
308+ ? suite ( formatTitle ( _name , items , idx ) , ( ) => handler ( ...items ) , options )
309+ : suite ( formatTitle ( _name , items , idx ) , ( ) => handler ( i ) , options )
310+ }
311+ else {
312+ arrayOnlyCases
313+ ? suite ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( ...items ) )
314+ : suite ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( i ) )
315+ }
307316 } )
308317
309318 this . setContext ( 'each' , undefined )
@@ -341,12 +350,21 @@ export function createTaskCollector(
341350 fnOrOptions ,
342351 )
343352
353+ const fnFirst = typeof optionsOrFn === 'function'
354+
344355 cases . forEach ( ( i , idx ) => {
345356 const items = Array . isArray ( i ) ? i : [ i ]
346357
347- arrayOnlyCases
348- ? test ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( ...items ) )
349- : test ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( i ) )
358+ if ( fnFirst ) {
359+ arrayOnlyCases
360+ ? test ( formatTitle ( _name , items , idx ) , ( ) => handler ( ...items ) , options )
361+ : test ( formatTitle ( _name , items , idx ) , ( ) => handler ( i ) , options )
362+ }
363+ else {
364+ arrayOnlyCases
365+ ? test ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( ...items ) )
366+ : test ( formatTitle ( _name , items , idx ) , options , ( ) => handler ( i ) )
367+ }
350368 } )
351369
352370 this . setContext ( 'each' , undefined )
0 commit comments