mirror of
https://github.com/php/php-src.git
synced 2024-10-19 07:22:40 +00:00
67583e7aa5
. fixed integer overflow . fixed buffer overflow/underflow . added more strict IP validation . reimplemented float number validation
35 lines
885 B
PHP
Executable File
35 lines
885 B
PHP
Executable File
--TEST--
|
|
filter_var() and doubles with thousend separators
|
|
--SKIPIF--
|
|
<?php if (!extension_loaded("filter")) die("skip"); ?>
|
|
--FILE--
|
|
<?php
|
|
$test = array(
|
|
'0' => 0.0,
|
|
'12345678900.1234567165' => 12345678900.1234567165,
|
|
'1,234,567,890.1234567165' => 1234567890.1234567165,
|
|
'-1,234,567,890.1234567165' => -1234567890.1234567165,
|
|
'1234,567,890.1234567165' => false,
|
|
'1,234,567,89.1234567165' => false,
|
|
'1,234,567,8900.1234567165' => false,
|
|
'1.234.567.890.1234567165' => false,
|
|
'1,234,567,8900.123,456' => false,
|
|
);
|
|
foreach ($test as $src => $dst) {
|
|
$out = filter_var($src, FILTER_VALIDATE_FLOAT, array("flags"=>FILTER_FLAG_ALLOW_THOUSAND));
|
|
if ($dst !== $out) {
|
|
if ($out === false) {
|
|
echo "$src -> false != $dst\n";
|
|
} elseif ($dst === false) {
|
|
echo "$src -> $out != false\n";
|
|
} else {
|
|
echo "$src -> $out != $dst\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
echo "Ok\n";
|
|
?>
|
|
--EXPECT--
|
|
Ok
|