mirror of
https://github.com/php/php-src.git
synced 2024-09-25 11:57:26 +00:00
New floatval() tests. Tested on Windows, Linux and Linux 64
This commit is contained in:
parent
5ed2f4fdd8
commit
054f6e1075
172
ext/standard/tests/general_functions/floatval_basic.phpt
Normal file
172
ext/standard/tests/general_functions/floatval_basic.phpt
Normal file
@ -0,0 +1,172 @@
|
||||
--TEST--
|
||||
Testing floatval() and its alias doubleval() Functions
|
||||
--INI--
|
||||
precision = 14
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: float floatval( mixed $var );
|
||||
* Description: Returns the float value of var.
|
||||
*/
|
||||
|
||||
// different valid float values
|
||||
$valid_floats = array(
|
||||
"0.0" => 0.0,
|
||||
"1.0" => 1.0,
|
||||
"-1.0" => -1.0,
|
||||
"1.234" => 1.234,
|
||||
"-1.234" => -1.234,
|
||||
"1.2e3" => 1.2e3,
|
||||
"-1.2e3" => -1.2e3,
|
||||
"10.0000000000000000005" => 10.0000000000000000005,
|
||||
"10.5e+5" => 10.5e+5,
|
||||
"1e5" => 1e5,
|
||||
"-1e5" => -1e5,
|
||||
"1e5" => 1e-5,
|
||||
"-1e-1" => -1e-1,
|
||||
"1e+5" => 1e+5,
|
||||
"-1e+5" =>-1e+5,
|
||||
"1E5" => 1E5,
|
||||
"-1E5" => -1E5,
|
||||
"1E+5" => 1E+5,
|
||||
"-1E5" => -1E+5,
|
||||
".5e+7" => .5e+7,
|
||||
"-.5e+7" =>-.5e+7
|
||||
);
|
||||
|
||||
/* loop to check that floatval() recognizes different
|
||||
float values, expected output:float value for valid floating point number */
|
||||
echo "*** Testing floatval() with valid float values ***\n";
|
||||
foreach ($valid_floats as $key => $value ) {
|
||||
echo "\n-- Iteration : $key -- \n";
|
||||
var_dump( floatval($value) );
|
||||
}
|
||||
|
||||
/* loop to check that doubleval() also recognizes different
|
||||
float values, expected output:float value for valid floating point number */
|
||||
echo "\n*** Testing doubleval() with valid float values ***\n";
|
||||
foreach ($valid_floats as $key => $value ) {
|
||||
echo "\n-- Iteration : $key -- \n";
|
||||
var_dump( doubleval($value) );
|
||||
}
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing floatval() with valid float values ***
|
||||
|
||||
-- Iteration : 0.0 --
|
||||
float(0)
|
||||
|
||||
-- Iteration : 1.0 --
|
||||
float(1)
|
||||
|
||||
-- Iteration : -1.0 --
|
||||
float(-1)
|
||||
|
||||
-- Iteration : 1.234 --
|
||||
float(1.234)
|
||||
|
||||
-- Iteration : -1.234 --
|
||||
float(-1.234)
|
||||
|
||||
-- Iteration : 1.2e3 --
|
||||
float(1200)
|
||||
|
||||
-- Iteration : -1.2e3 --
|
||||
float(-1200)
|
||||
|
||||
-- Iteration : 10.0000000000000000005 --
|
||||
float(10)
|
||||
|
||||
-- Iteration : 10.5e+5 --
|
||||
float(1050000)
|
||||
|
||||
-- Iteration : 1e5 --
|
||||
float(1.0E-5)
|
||||
|
||||
-- Iteration : -1e5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : -1e-1 --
|
||||
float(-0.1)
|
||||
|
||||
-- Iteration : 1e+5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : -1e+5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : 1E5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : -1E5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : 1E+5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : .5e+7 --
|
||||
float(5000000)
|
||||
|
||||
-- Iteration : -.5e+7 --
|
||||
float(-5000000)
|
||||
|
||||
*** Testing doubleval() with valid float values ***
|
||||
|
||||
-- Iteration : 0.0 --
|
||||
float(0)
|
||||
|
||||
-- Iteration : 1.0 --
|
||||
float(1)
|
||||
|
||||
-- Iteration : -1.0 --
|
||||
float(-1)
|
||||
|
||||
-- Iteration : 1.234 --
|
||||
float(1.234)
|
||||
|
||||
-- Iteration : -1.234 --
|
||||
float(-1.234)
|
||||
|
||||
-- Iteration : 1.2e3 --
|
||||
float(1200)
|
||||
|
||||
-- Iteration : -1.2e3 --
|
||||
float(-1200)
|
||||
|
||||
-- Iteration : 10.0000000000000000005 --
|
||||
float(10)
|
||||
|
||||
-- Iteration : 10.5e+5 --
|
||||
float(1050000)
|
||||
|
||||
-- Iteration : 1e5 --
|
||||
float(1.0E-5)
|
||||
|
||||
-- Iteration : -1e5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : -1e-1 --
|
||||
float(-0.1)
|
||||
|
||||
-- Iteration : 1e+5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : -1e+5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : 1E5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : -1E5 --
|
||||
float(-100000)
|
||||
|
||||
-- Iteration : 1E+5 --
|
||||
float(100000)
|
||||
|
||||
-- Iteration : .5e+7 --
|
||||
float(5000000)
|
||||
|
||||
-- Iteration : -.5e+7 --
|
||||
float(-5000000)
|
||||
===DONE===
|
40
ext/standard/tests/general_functions/floatval_error.phpt
Normal file
40
ext/standard/tests/general_functions/floatval_error.phpt
Normal file
@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
Testing floatval() and its alias doubleval() : error conditions - wrong numbers of parametersns
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: float floatval( mixed $var );
|
||||
* Description: Returns the float value of var.
|
||||
*/
|
||||
|
||||
echo "*** Testing floatval() and doubleval() : error conditions ***\n";
|
||||
|
||||
|
||||
echo "\n-- Testing floatval() and doubleval() function with no arguments --\n";
|
||||
var_dump( floatval() );
|
||||
var_dump( doubleval() );
|
||||
|
||||
echo "\n-- Testing floatval() and doubleval() function with more than expected no. of arguments --\n";
|
||||
var_dump( floatval(10.5, FALSE) );
|
||||
var_dump( doubleval(10.5, FALSE) );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing floatval() and doubleval() : error conditions ***
|
||||
|
||||
-- Testing floatval() and doubleval() function with no arguments --
|
||||
|
||||
Warning: floatval() expects exactly 1 parameter, 0 given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: doubleval() expects exactly 1 parameter, 0 given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing floatval() and doubleval() function with more than expected no. of arguments --
|
||||
|
||||
Warning: floatval() expects exactly 1 parameter, 2 given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: doubleval() expects exactly 1 parameter, 2 given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
154
ext/standard/tests/general_functions/floatval_variation1.phpt
Normal file
154
ext/standard/tests/general_functions/floatval_variation1.phpt
Normal file
@ -0,0 +1,154 @@
|
||||
--TEST--
|
||||
Testing floatval() and its alias doubleval() functions : usage variations - different data types as $y arg
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: float floatval( mixed $var );
|
||||
* Description: Returns the float value of var.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// get a resource type variable
|
||||
$fp = fopen (__FILE__, "r");
|
||||
fclose($fp);
|
||||
$dfp = opendir ( dirname(__FILE__) );
|
||||
closedir($dfp);
|
||||
|
||||
// other types in an array
|
||||
$not_float_types = array (
|
||||
"-2147483648" => -2147483648, // max negative integer value
|
||||
"2147483647" => 2147483648, // max positive integer value
|
||||
"file resoruce" => $fp,
|
||||
"directory resource" => $dfp,
|
||||
"\"0.0\"" => "0.0", // string
|
||||
"\"1.0\"" => "1.0",
|
||||
"\"-1.3e3\"" => "-1.3e3",
|
||||
"\"bob-1.3e3\"" => "bob-1.3e3",
|
||||
"\"10 Some dollars\"" => "10 Some dollars",
|
||||
"\"10.2 Some Dollars\"" => "10.2 Some Dollars",
|
||||
"\"10.0 dollar\" + 1" => "10.0 dollar" + 1,
|
||||
"\"10.0 dollar\" + 1.0" => "10.0 dollar" + 1.0,
|
||||
"\"\"" => "",
|
||||
"true" => true,
|
||||
"NULL" => NULL,
|
||||
"null" => null,
|
||||
);
|
||||
/* loop through the $not_float_types to see working of
|
||||
floatval() on non float types, expected output: float value valid floating point numbers */
|
||||
echo "\n*** Testing floatval() on non floating types ***\n";
|
||||
foreach ($not_float_types as $key => $type ) {
|
||||
echo "\n-- Iteration : $key --\n";
|
||||
var_dump( floatval($type) );
|
||||
}
|
||||
|
||||
echo "\n*** Testing doubleval() on non floating types ***\n";
|
||||
|
||||
/* loop through the $not_float_types to see working of
|
||||
doubleval() on non float types, expected output: float value valid floating point numbers */
|
||||
foreach ($not_float_types as $key => $type ) {
|
||||
echo "\n-- Iteration : $key --\n";
|
||||
var_dump( doubleval($type) );
|
||||
}
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing floatval() on non floating types ***
|
||||
|
||||
-- Iteration : -2147483648 --
|
||||
float(-2147483648)
|
||||
|
||||
-- Iteration : 2147483647 --
|
||||
float(2147483648)
|
||||
|
||||
-- Iteration : file resoruce --
|
||||
float(%d)
|
||||
|
||||
-- Iteration : directory resource --
|
||||
float(%d)
|
||||
|
||||
-- Iteration : "0.0" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : "1.0" --
|
||||
float(1)
|
||||
|
||||
-- Iteration : "-1.3e3" --
|
||||
float(-1300)
|
||||
|
||||
-- Iteration : "bob-1.3e3" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : "10 Some dollars" --
|
||||
float(10)
|
||||
|
||||
-- Iteration : "10.2 Some Dollars" --
|
||||
float(10.2)
|
||||
|
||||
-- Iteration : "10.0 dollar" + 1 --
|
||||
float(11)
|
||||
|
||||
-- Iteration : "10.0 dollar" + 1.0 --
|
||||
float(11)
|
||||
|
||||
-- Iteration : "" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : true --
|
||||
float(1)
|
||||
|
||||
-- Iteration : NULL --
|
||||
float(0)
|
||||
|
||||
-- Iteration : null --
|
||||
float(0)
|
||||
|
||||
*** Testing doubleval() on non floating types ***
|
||||
|
||||
-- Iteration : -2147483648 --
|
||||
float(-2147483648)
|
||||
|
||||
-- Iteration : 2147483647 --
|
||||
float(2147483648)
|
||||
|
||||
-- Iteration : file resoruce --
|
||||
float(%d)
|
||||
|
||||
-- Iteration : directory resource --
|
||||
float(%d)
|
||||
|
||||
-- Iteration : "0.0" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : "1.0" --
|
||||
float(1)
|
||||
|
||||
-- Iteration : "-1.3e3" --
|
||||
float(-1300)
|
||||
|
||||
-- Iteration : "bob-1.3e3" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : "10 Some dollars" --
|
||||
float(10)
|
||||
|
||||
-- Iteration : "10.2 Some Dollars" --
|
||||
float(10.2)
|
||||
|
||||
-- Iteration : "10.0 dollar" + 1 --
|
||||
float(11)
|
||||
|
||||
-- Iteration : "10.0 dollar" + 1.0 --
|
||||
float(11)
|
||||
|
||||
-- Iteration : "" --
|
||||
float(0)
|
||||
|
||||
-- Iteration : true --
|
||||
float(1)
|
||||
|
||||
-- Iteration : NULL --
|
||||
float(0)
|
||||
|
||||
-- Iteration : null --
|
||||
float(0)
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user