@@ -159,7 +159,7 @@ test.snapshot({
159159 ] ,
160160} ) ;
161161
162- // `[].concat(array)`
162+ // Plain `[].concat(value)` normalization
163163test . snapshot ( {
164164 valid : [
165165 '[].concat' ,
@@ -172,15 +172,14 @@ test.snapshot({
172172 '[].concat(array, EXTRA_ARGUMENT)' ,
173173 '[]?.concat(array)' ,
174174 '[].concat?.(array)' ,
175- ] ,
176- invalid : [
177175 '[].concat(maybeArray)' ,
178176 '[].concat( ((0, maybeArray)) )' ,
179177 '[].concat( ((maybeArray)) )' ,
180178 '[].concat( [foo] )' ,
181179 '[].concat( [[foo]] )' ,
182180 'function foo(){return[].concat(maybeArray)}' ,
183181 ] ,
182+ invalid : [ ] ,
184183} ) ;
185184
186185// `[].concat(...array)`
@@ -208,7 +207,6 @@ test.snapshot({
208207} ) ;
209208
210209// - `[].concat.apply([], array)`
211- // - `[].concat.call([], maybeArray)`
212210// - `[].concat.call([], ...array)`
213211test . snapshot ( {
214212 valid : [
@@ -227,6 +225,11 @@ test.snapshot({
227225 '[].concat.apply?.([], array)' ,
228226 '[].concat?.apply([], array)' ,
229227 '[]?.concat.apply([], array)' ,
228+ '[].concat.call([], maybeArray)' ,
229+ '[].concat.call([], ((0, maybeArray)))' ,
230+ '[].concat.call([], ((maybeArray)))' ,
231+ '[].concat.call([], [foo])' ,
232+ '[].concat.call([], [[foo]])' ,
230233 ] ,
231234 invalid : [
232235 '[].concat.apply([], array)' ,
@@ -235,12 +238,6 @@ test.snapshot({
235238 '[].concat.apply([], [foo])' ,
236239 '[].concat.apply([], [[foo]])' ,
237240
238- '[].concat.call([], maybeArray)' ,
239- '[].concat.call([], ((0, maybeArray)))' ,
240- '[].concat.call([], ((maybeArray)))' ,
241- '[].concat.call([], [foo])' ,
242- '[].concat.call([], [[foo]])' ,
243-
244241 '[].concat.call([], ...array)' ,
245242 '[].concat.call([], ...((0, array)))' ,
246243 '[].concat.call([], ...((array)))' ,
@@ -252,7 +249,6 @@ test.snapshot({
252249} ) ;
253250
254251// - `Array.prototype.concat.apply([], array)`
255- // - `Array.prototype.concat.call([], maybeArray)`
256252// - `Array.prototype.concat.call([], ...array)`
257253test . snapshot ( {
258254 valid : [
@@ -275,6 +271,11 @@ test.snapshot({
275271 'Array.prototype?.concat.apply([], array)' ,
276272 'Array?.prototype.concat.apply([], array)' ,
277273 'object.Array.prototype.concat.apply([], array)' ,
274+ 'Array.prototype.concat.call([], maybeArray)' ,
275+ 'Array.prototype.concat.call([], ((0, maybeArray)))' ,
276+ 'Array.prototype.concat.call([], ((maybeArray)))' ,
277+ 'Array.prototype.concat.call([], [foo])' ,
278+ 'Array.prototype.concat.call([], [[foo]])' ,
278279 ] ,
279280 invalid : [
280281 'Array.prototype.concat.apply([], array)' ,
@@ -283,12 +284,6 @@ test.snapshot({
283284 'Array.prototype.concat.apply([], [foo])' ,
284285 'Array.prototype.concat.apply([], [[foo]])' ,
285286
286- 'Array.prototype.concat.call([], maybeArray)' ,
287- 'Array.prototype.concat.call([], ((0, maybeArray)))' ,
288- 'Array.prototype.concat.call([], ((maybeArray)))' ,
289- 'Array.prototype.concat.call([], [foo])' ,
290- 'Array.prototype.concat.call([], [[foo]])' ,
291-
292287 'Array.prototype.concat.call([], ...array)' ,
293288 'Array.prototype.concat.call([], ...((0, array)))' ,
294289 'Array.prototype.concat.call([], ...((array)))' ,
@@ -413,63 +408,62 @@ test.snapshot({
413408 valid : [
414409 'array.flat()' ,
415410 'array.flat(1)' ,
416- ] ,
417- invalid : [
418- // ASI
419411 outdent `
420412 before()
421- Array.prototype.concat.apply ([], [array].concat(array) )
413+ Array.prototype.concat.call ([], +1 )
422414 ` ,
415+ 'Array.prototype.concat.call([], (0, array))' ,
416+ 'async function a() { return [].concat(await getArray()); }' ,
423417 outdent `
424418 before()
425- Array.prototype.concat.apply ([], + 1)
419+ Array.prototype.concat.call ([], 1)
426420 ` ,
427421 outdent `
428422 before()
429- Array.prototype.concat.call([], +1 )
423+ Array.prototype.concat.call([], 1. )
430424 ` ,
431- // Parentheses
432- 'Array.prototype.concat.apply([], (0, array))' ,
433- 'Array.prototype.concat.call([], (0, array))' ,
434- 'async function a() { return [].concat(await getArray()); }' ,
435- '_.flatten((0, array))' ,
436- 'async function a() { return _.flatten(await getArray()); }' ,
437- 'async function a() { return _.flatten((await getArray())); }' ,
438425 outdent `
439426 before()
440- Array.prototype.concat.apply ([], 1)
427+ Array.prototype.concat.call ([], . 1)
441428 ` ,
442429 outdent `
443430 before()
444- Array.prototype.concat.call([], 1)
431+ Array.prototype.concat.call([], 1.0 )
445432 ` ,
433+ '[].concat(some./**/array)' ,
434+ '[/**/].concat(some./**/array)' ,
435+ '[/**/].concat(some.array)' ,
436+ ] ,
437+ invalid : [
438+ // ASI
446439 outdent `
447440 before()
448- Array.prototype.concat.apply([], 1. )
441+ Array.prototype.concat.apply([], [array].concat(array) )
449442 ` ,
450443 outdent `
451444 before()
452- Array.prototype.concat.call ([], 1. )
445+ Array.prototype.concat.apply ([], +1 )
453446 ` ,
447+ // Parentheses
448+ 'Array.prototype.concat.apply([], (0, array))' ,
449+ '_.flatten((0, array))' ,
450+ 'async function a() { return _.flatten(await getArray()); }' ,
451+ 'async function a() { return _.flatten((await getArray())); }' ,
454452 outdent `
455453 before()
456- Array.prototype.concat.apply([], . 1)
454+ Array.prototype.concat.apply([], 1)
457455 ` ,
458456 outdent `
459457 before()
460- Array.prototype.concat.call ([], .1 )
458+ Array.prototype.concat.apply ([], 1. )
461459 ` ,
462460 outdent `
463461 before()
464- Array.prototype.concat.apply([], 1.0 )
462+ Array.prototype.concat.apply([], .1 )
465463 ` ,
466464 outdent `
467465 before()
468- Array.prototype.concat.call ([], 1.0)
466+ Array.prototype.concat.apply ([], 1.0)
469467 ` ,
470- // Comment
471- '[].concat(some./**/array)' ,
472- '[/**/].concat(some./**/array)' ,
473- '[/**/].concat(some.array)' ,
474468 ] ,
475469} ) ;
0 commit comments