/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/filter/tests/046.phpt
49 строк
1 KB
Nikita Popov
Migrate SKIPIF -> EXTENSIONS (#7138)
11 июн 2021, 12:57
Не верифицирован
11 июн 2021, 12:57
7485978
Код
Авторство
О чём код?
--TEST-- Integer overflow --EXTENSIONS-- filter --FILE-- <?php $max = sprintf("%d", PHP_INT_MAX); switch($max) { case "2147483647": /* 32-bit systems */ $min = "-2147483648"; $overflow = "2147483648"; $underflow = "-2147483649"; break; case "9223372036854775807": /* 64-bit systems */ $min = "-9223372036854775808"; $overflow = "9223372036854775808"; $underflow = "-9223372036854775809"; break; default: die("failed: unknown value for PHP_MAX_INT"); break; } function test_validation($val, $msg) { $f = filter_var($val, FILTER_VALIDATE_INT); echo "$msg filtered: "; var_dump($f); // filtered value (or false) echo "$msg is_long: "; var_dump(is_long($f)); // test validation echo "$msg equal: "; var_dump($val == $f); // test equality of result } // PHP_INT_MAX test_validation($max, "max"); test_validation($overflow, "overflow"); test_validation($min, "min"); test_validation($underflow, "underflow"); ?> --EXPECTF-- max filtered: int(%d) max is_long: bool(true) max equal: bool(true) overflow filtered: bool(false) overflow is_long: bool(false) overflow equal: bool(false) min filtered: int(-%d) min is_long: bool(true) min equal: bool(true) underflow filtered: bool(false) underflow is_long: bool(false) underflow equal: bool(false)