Skip to content

Commit

Permalink
Merge 9eea60b into a46cb72
Browse files Browse the repository at this point in the history
  • Loading branch information
jrfnl committed Oct 15, 2022
2 parents a46cb72 + 9eea60b commit a8327d7
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
7 changes: 7 additions & 0 deletions Tests/Utils/PassedParameters/GetParametersTest.inc
Expand Up @@ -124,3 +124,10 @@ unset( $variable, $object->property, static::$property, $array[$name], );
$anon = new class( $param1, $param2 ) {
public function __construct($param1, $param2) {}
};

/* testPHP74UnpackingInLongArrayExpression */
$arr4 = array(...$arr1, ...arrGen(), ...new ArrayIterator(['a', 'b', 'c']));

/* testPHP74UnpackingInShortArrayExpression */
// Also includes code sample for PHP 8.1 unpacking with string keys.
$fruits = ['banana', ...$parts, 'watermelon', ...["a" => 2],];
49 changes: 49 additions & 0 deletions Tests/Utils/PassedParameters/GetParametersTest.php
Expand Up @@ -538,6 +538,55 @@ public function test( $foo, $bar ) {
],
],
],

// PHP 7.4 argument unpacking array expressions.
'long-array-with-argument-unpacking-via-spread-operator' => [
'testMarker' => '/* testPHP74UnpackingInLongArrayExpression */',
'targetType' => \T_ARRAY,
'expected' => [
1 => [
'start' => 2,
'end' => 3,
'raw' => '...$arr1',
],
2 => [
'start' => 5,
'end' => 9,
'raw' => '...arrGen()',
],
3 => [
'start' => 11,
'end' => 26,
'raw' => "...new ArrayIterator(['a', 'b', 'c'])",
],
],
],
'short-array-with-argument-unpacking-via-spread-operator' => [
'testMarker' => '/* testPHP74UnpackingInShortArrayExpression */',
'targetType' => \T_OPEN_SHORT_ARRAY,
'expected' => [
1 => [
'start' => 1,
'end' => 1,
'raw' => "'banana'",
],
2 => [
'start' => 3,
'end' => 5,
'raw' => '...$parts',
],
3 => [
'start' => 7,
'end' => 8,
'raw' => "'watermelon'",
],
4 => [
'start' => 10,
'end' => 18,
'raw' => '...["a" => 2]',
],
],
],
];
}

Expand Down

0 comments on commit a8327d7

Please sign in to comment.