Skip to content

Commit ef65e67

Browse files
committed
test never
1 parent e7654a6 commit ef65e67

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

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

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -985,4 +985,77 @@ public function looseString(
985985
assertType('false', $string == $obj);
986986
assertType('false', $string == new \stdClass());
987987
}
988+
989+
/**
990+
* @param never $never
991+
* @param true $true
992+
* @param false $false
993+
* @param 1 $one
994+
* @param 0 $zero
995+
* @param -1 $minusOne
996+
* @param '1' $oneStr
997+
* @param '0' $zeroStr
998+
* @param '-1' $minusOneStr
999+
* @param null $null
1000+
* @param array{} $emptyArr
1001+
* @param 'php' $phpStr
1002+
* @param '' $emptyStr
1003+
* @param array $arr
1004+
* @param 'a'|'123'|'123.23' $unionMaybeNumeric
1005+
* @param 1|2|3 $unionNumbers
1006+
* @param 'a'|'b'|'c' $unionStrings
1007+
*
1008+
* https://3v4l.org/RHc0P
1009+
*/
1010+
public function looseNever(
1011+
$never,
1012+
$true,
1013+
$false,
1014+
$one,
1015+
$zero,
1016+
$minusOne,
1017+
$oneStr,
1018+
$zeroStr,
1019+
$minusOneStr,
1020+
$null,
1021+
$emptyArr,
1022+
$phpStr,
1023+
$emptyStr,
1024+
array $arr,
1025+
int $int,
1026+
float $float,
1027+
bool $bool,
1028+
string $string,
1029+
object $obj,
1030+
$unionMaybeNumeric,
1031+
$unionNumbers,
1032+
$unionStrings
1033+
) {
1034+
assertType('false', $never == $true);
1035+
assertType('false', $never == $false);
1036+
assertType('false', $never == $one);
1037+
assertType('false', $never == $zero);
1038+
assertType('false', $never == 10);
1039+
assertType('false', $never == $minusOne);
1040+
assertType('false', $never == $oneStr);
1041+
assertType('false', $never == $zeroStr);
1042+
assertType('false', $never == $minusOneStr);
1043+
assertType('false', $never == $null);
1044+
assertType('false', $never == $emptyArr);
1045+
assertType('false', $never == $phpStr);
1046+
assertType('false', $never == $emptyStr);
1047+
assertType('false', $never == $float);
1048+
assertType('false', $never == []);
1049+
assertType('false', $never == $arr);
1050+
assertType('true', $never == $never);
1051+
assertType('false', $never == $int);
1052+
assertType('false', $never == $float);
1053+
assertType('false', $never == $bool);
1054+
assertType('false', $never == $string);
1055+
assertType('false', $never == $obj);
1056+
assertType('false', $never == new \stdClass());
1057+
assertType('false', $never == $unionMaybeNumeric);
1058+
assertType('false', $never == $unionNumbers);
1059+
assertType('false', $never == $unionStrings);
1060+
}
9881061
}

0 commit comments

Comments
 (0)