Skip to content

Commit 3cd62a7

Browse files
committed
add more tests
1 parent 4382314 commit 3cd62a7

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

tests/PHPStan/Analyser/nsrt/bug-11276.php

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<?php
22

3+
namespace Bug11276;
4+
35
use function PHPStan\Testing\assertType;
46

5-
function sayEqualArrayShape(int $i, $arr): void
7+
function doFoo(int $i, int $j, $arr): void
68
{
79
if (false || array_key_exists($i, $arr)) {
810
assertType('non-empty-array', $arr);
@@ -20,7 +22,37 @@ function sayEqualArrayShape(int $i, $arr): void
2022
assertType('mixed', $arr);
2123
}
2224

25+
if (array_key_exists($i, $arr) || array_key_exists($j, $arr)) {
26+
assertType('non-empty-array', $arr);
27+
}
28+
29+
if (!array_key_exists($j, $arr)) {
30+
if (array_key_exists($i, $arr) || array_key_exists($j, $arr)) {
31+
assertType('non-empty-array', $arr);
32+
}
33+
}
34+
if (!array_key_exists($i, $arr)) {
35+
if (array_key_exists($i, $arr) || array_key_exists($j, $arr)) {
36+
assertType('non-empty-array', $arr);
37+
}
38+
}
39+
2340
if (array_key_exists($i, $arr)) {
2441
assertType('non-empty-array', $arr);
2542
}
2643
}
44+
45+
function doBar($j, $arr) {
46+
$i = 1;
47+
if (!array_key_exists($i, $arr)) {
48+
if (array_key_exists($i, $arr) || array_key_exists($j, $arr)) {
49+
assertType('non-empty-array<mixed~1, mixed>', $arr);
50+
}
51+
}
52+
53+
if (!array_key_exists($i, $arr)) {
54+
if (array_key_exists($j, $arr) || array_key_exists($i, $arr)) {
55+
assertType('non-empty-array<mixed~1, mixed>', $arr);
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)