Skip to content

Commit 718f405

Browse files
committed
Test loose comparison on constant types
1 parent 9f78100 commit 718f405

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

tests/PHPStan/Analyser/nsrt/loose-comparisons-php7.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,13 @@ public function sayInt(
6060
assertType('bool', $int == $emptyStr);
6161
assertType('bool', $int == $phpStr);
6262
assertType('bool', $int == 'a');
63+
64+
assertType('bool', 5 == $emptyStr);
65+
assertType('bool', 5 == $phpStr);
66+
assertType('bool', 5 == 'a');
67+
68+
assertType('bool', $emptyStr == 5);
69+
assertType('bool', $phpStr == 5);
70+
assertType('bool', 'a' == 5);
6371
}
6472
}

tests/PHPStan/Analyser/nsrt/loose-comparisons-php8.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ public function sayInt(
6666
assertType('false', $intRange == $emptyStr);
6767
assertType('false', $intRange == $phpStr);
6868
assertType('false', $intRange == 'a');
69+
70+
assertType('false', 5 == $emptyStr);
71+
assertType('false', 5 == $phpStr);
72+
assertType('false', 5 == 'a');
73+
74+
assertType('false', $emptyStr == 5);
75+
assertType('false', $phpStr == 5);
76+
assertType('false', 'a' == 5);
6977
}
7078

7179
}

tests/PHPStan/Analyser/nsrt/loose-comparisons.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,12 @@ public function sayInt(
651651
assertType('false', $intRange == $emptyArr);
652652
assertType('false', $intRange == $array);
653653

654+
assertType('false', 5 == $emptyArr);
655+
assertType('false', $emptyArr == 5);
656+
assertType('false', 5 == $array);
657+
assertType('false', $array == 5);
658+
assertType('false', [] == 5);
659+
assertType('false', 5 == []);
654660
}
655661

656662
/**

0 commit comments

Comments
 (0)