Skip to content

Commit a8f870a

Browse files
More test
1 parent 2e5bfcf commit a8f870a

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Diff for: tests/PHPStan/Analyser/nsrt/array-replace.php

+16
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,22 @@ public function arrayReplaceUnionTypeArrayShapes($array1, $array2): void
6969
assertType("array<int, array{bar: '2'}|array{bar: '3'}|array{foo: '1'}|array{foo: '2'}>", array_replace($array2, $array1));
7070
}
7171

72+
/**
73+
* @param array{foo: '1', bar: '2'} $array1
74+
* @param array<string, int> $array2
75+
* @param array<int, string> $array3
76+
*/
77+
public function arrayReplaceArrayShapeAndGeneralArray($array1, $array2, $array3): void
78+
{
79+
assertType("non-empty-array<string, '1'|'2'|int>", array_replace($array1, $array2));
80+
assertType("non-empty-array<string, '1'|'2'|int>", array_replace($array2, $array1));
81+
82+
assertType("non-empty-array<'bar'|'foo'|int, string>", array_replace($array1, $array3));
83+
assertType("non-empty-array<'bar'|'foo'|int, string>", array_replace($array3, $array1));
84+
85+
assertType("array<int|string, int|string>", array_replace($array2, $array3));
86+
}
87+
7288
/**
7389
* @param array{0: 1, 1: 2} $array1
7490
* @param array{1: 3, 2: 4} $array2

0 commit comments

Comments
 (0)