mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Remove quicktester
This is barely used and more of a hinderence than anything else Closes GH-6712
This commit is contained in:
parent
8c206ba5ac
commit
3a4b89661e
9 changed files with 405 additions and 316 deletions
|
@ -5,8 +5,6 @@ BZ2 with strings
|
|||
--FILE--
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
# This FAILS
|
||||
$blaat = <<<HEREDOC
|
||||
This is some random data
|
||||
|
@ -17,11 +15,8 @@ HEREDOC;
|
|||
|
||||
$blaat2 = bzdecompress(bzcompress($blaat));
|
||||
|
||||
$tests = <<<TESTS
|
||||
\$blaat === \$blaat2
|
||||
TESTS;
|
||||
var_dump($blaat === $blaat2);
|
||||
|
||||
include(__DIR__ . '/../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
OK
|
||||
bool(true)
|
||||
|
|
|
@ -8,18 +8,21 @@ define('LONG_MIN', -LONG_MAX - 1);
|
|||
printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ),
|
||||
is_int(LONG_MIN-1),is_int(LONG_MAX+1));
|
||||
|
||||
$tests = <<<TESTS
|
||||
1 === abs(-1)
|
||||
1.5 === abs(-1.5)
|
||||
1 === abs("-1")
|
||||
1.5 === abs("-1.5")
|
||||
-LONG_MIN+1 === abs(LONG_MIN-1)
|
||||
-LONG_MIN === abs(LONG_MIN)
|
||||
-(LONG_MIN+1) === abs(LONG_MIN+1)
|
||||
TESTS;
|
||||
var_dump(1 === abs(-1));
|
||||
var_dump(1.5 === abs(-1.5));
|
||||
var_dump(1 === abs("-1"));
|
||||
var_dump(1.5 === abs("-1.5"));
|
||||
var_dump(-LONG_MIN+1 === abs(LONG_MIN-1));
|
||||
var_dump(-LONG_MIN === abs(LONG_MIN));
|
||||
var_dump(-(LONG_MIN+1) === abs(LONG_MIN+1));
|
||||
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
1,1,0,0
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
|
|
@ -6,17 +6,16 @@ Various pow() tests
|
|||
$x = 2;
|
||||
$x **= 3;
|
||||
|
||||
$tests = <<<TESTS
|
||||
-3 ** 2 === -9
|
||||
(-3) **2 === 9
|
||||
2 ** 3 ** 2 === 512
|
||||
(2 ** 3) ** 2 === 64
|
||||
$x === 8
|
||||
TESTS;
|
||||
var_dump( -3 ** 2 === -9);
|
||||
var_dump( (-3) **2 === 9);
|
||||
var_dump( 2 ** 3 ** 2 === 512);
|
||||
var_dump( (2 ** 3) ** 2 === 64);
|
||||
var_dump( $x === 8);
|
||||
|
||||
echo "On failure, please mail result to php-dev@lists.php.net\n";
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
On failure, please mail result to php-dev@lists.php.net
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
|
|
@ -8,142 +8,269 @@ define('LONG_MIN', -LONG_MAX - 1);
|
|||
printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ),
|
||||
is_int(LONG_MIN-1),is_int(LONG_MAX+1));
|
||||
|
||||
$tests = <<<TESTS
|
||||
0.25 === pow(-2,-2)
|
||||
-0.5 === pow(-2,-1)
|
||||
1 === pow(-2, 0)
|
||||
-2 === pow(-2, 1)
|
||||
4 === pow(-2, 2)
|
||||
1.0 === pow(-1,-2)
|
||||
-1.0 === pow(-1,-1)
|
||||
1 === pow(-1, 0)
|
||||
-1 === pow(-1, 1)
|
||||
1 === pow(-1, 2)
|
||||
TRUE === is_infinite(pow(0,-2))
|
||||
TRUE === is_infinite(pow(0,-1))
|
||||
1 === pow( 0, 0)
|
||||
0 === pow( 0, 1)
|
||||
0 === pow( 0, 2)
|
||||
1.0 === pow( 1,-2)
|
||||
1.0 === pow( 1,-1)
|
||||
1 === pow( 1, 0)
|
||||
1 === pow( 1, 1)
|
||||
1 === pow( 1, 2)
|
||||
0.25 === pow( 2,-2)
|
||||
0.5 === pow( 2,-1)
|
||||
1 === pow( 2, 0)
|
||||
2 === pow( 2, 1)
|
||||
4 === pow( 2, 2)
|
||||
0.25 === pow(-2,-2.0)
|
||||
-0.5 === pow(-2,-1.0)
|
||||
1.0 === pow(-2, 0.0)
|
||||
-2.0 === pow(-2, 1.0)
|
||||
4.0 === pow(-2, 2.0)
|
||||
1.0 === pow(-1,-2.0)
|
||||
-1.0 === pow(-1,-1.0)
|
||||
1.0 === pow(-1, 0.0)
|
||||
-1.0 === pow(-1, 1.0)
|
||||
1.0 === pow(-1, 2.0)
|
||||
TRUE === is_infinite(pow(0,-2.0))
|
||||
TRUE === is_infinite(pow(0,-1.0))
|
||||
1.0 === pow( 0, 0.0)
|
||||
0.0 === pow( 0, 1.0)
|
||||
0.0 === pow( 0, 2.0)
|
||||
1.0 === pow( 1,-2.0)
|
||||
1.0 === pow( 1,-1.0)
|
||||
1.0 === pow( 1, 0.0)
|
||||
1.0 === pow( 1, 1.0)
|
||||
1.0 === pow( 1, 2.0)
|
||||
0.25 === pow( 2,-2.0)
|
||||
0.5 === pow( 2,-1.0)
|
||||
1.0 === pow( 2, 0.0)
|
||||
2.0 === pow( 2, 1.0)
|
||||
4.0 === pow( 2, 2.0)
|
||||
2147483648 === pow(2,31)
|
||||
-2147483648 ~== pow(-2,31)
|
||||
1000000000 === pow(10,9)
|
||||
100000000 === pow(-10,8)
|
||||
1 === pow(-1,1443279822)
|
||||
-1 === pow(-1,1443279821)
|
||||
sqrt(2) ~== pow(2,1/2)
|
||||
0.25 === pow(-2.0,-2.0)
|
||||
-0.5 === pow(-2.0,-1.0)
|
||||
1.0 === pow(-2.0, 0.0)
|
||||
-2.0 === pow(-2.0, 1.0)
|
||||
4.0 === pow(-2.0, 2.0)
|
||||
1.0 === pow(-1.0,-2.0)
|
||||
-1.0 === pow(-1.0,-1.0)
|
||||
1.0 === pow(-1.0, 0.0)
|
||||
-1.0 === pow(-1.0, 1.0)
|
||||
1.0 === pow(-1.0, 2.0)
|
||||
TRUE === is_infinite(pow(0.0,-2.0))
|
||||
TRUE === is_infinite(pow(0.0,-1.0))
|
||||
1.0 === pow( 0.0, 0.0)
|
||||
0.0 === pow( 0.0, 1.0)
|
||||
0.0 === pow( 0.0, 2.0)
|
||||
1.0 === pow( 1.0,-2.0)
|
||||
1.0 === pow( 1.0,-1.0)
|
||||
1.0 === pow( 1.0, 0.0)
|
||||
1.0 === pow( 1.0, 1.0)
|
||||
1.0 === pow( 1.0, 2.0)
|
||||
0.25 === pow( 2.0,-2.0)
|
||||
0.5 === pow( 2.0,-1.0)
|
||||
1.0 === pow( 2.0, 0.0)
|
||||
2.0 === pow( 2.0, 1.0)
|
||||
4.0 === pow( 2.0, 2.0)
|
||||
0.25 === pow(-2.0,-2)
|
||||
-0.5 === pow(-2.0,-1)
|
||||
1.0 === pow(-2.0, 0)
|
||||
-2.0 === pow(-2.0, 1)
|
||||
4.0 === pow(-2.0, 2)
|
||||
1.0 === pow(-1.0,-2)
|
||||
-1.0 === pow(-1.0,-1)
|
||||
1.0 === pow(-1.0, 0)
|
||||
-1.0 === pow(-1.0, 1)
|
||||
1.0 === pow(-1.0, 2)
|
||||
TRUE === is_infinite(pow( 0.0,-2))
|
||||
TRUE === is_infinite(pow( 0.0,-1))
|
||||
1.0 === pow( 0.0, 0)
|
||||
0.0 === pow( 0.0, 1)
|
||||
0.0 === pow( 0.0, 2)
|
||||
1.0 === pow( 1.0,-2)
|
||||
1.0 === pow( 1.0,-1)
|
||||
1.0 === pow( 1.0, 0)
|
||||
1.0 === pow( 1.0, 1)
|
||||
1.0 === pow( 1.0, 2)
|
||||
0.25 === pow( 2.0,-2)
|
||||
0.5 === pow( 2.0,-1)
|
||||
1.0 === pow( 2.0, 0)
|
||||
2.0 === pow( 2.0, 1)
|
||||
4.0 === pow( 2.0, 2)
|
||||
2.0 === pow( 4, 0.5)
|
||||
2.0 === pow( 4.0, 0.5)
|
||||
3.0 === pow( 27, 1/3)
|
||||
3.0 === pow(27.0, 1/3)
|
||||
0.5 === pow( 4, -0.5)
|
||||
0.5 === pow( 4.0, -0.5)
|
||||
LONG_MAX-1 === pow(LONG_MAX-1,1)
|
||||
LONG_MIN+1 === pow(LONG_MIN+1,1)
|
||||
(LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2)
|
||||
(LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2)
|
||||
(float)(LONG_MAX-1) === pow(LONG_MAX-1,1.0)
|
||||
(float)(LONG_MIN+1) === pow(LONG_MIN+1,1.0)
|
||||
(LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2.0)
|
||||
(LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2.0)
|
||||
LONG_MAX === pow(LONG_MAX,1)
|
||||
LONG_MIN === pow(LONG_MIN,1)
|
||||
LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2)
|
||||
LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2)
|
||||
(float)LONG_MAX === pow(LONG_MAX,1.0)
|
||||
(float)LONG_MIN === pow(LONG_MIN,1.0)
|
||||
LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2.0)
|
||||
LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2.0)
|
||||
TESTS;
|
||||
function epsilon_equal($left, $right): bool {
|
||||
return abs(($left-$right) / $left) < 1e-12;
|
||||
}
|
||||
|
||||
var_dump(0.25 === pow(-2,-2));
|
||||
var_dump(-0.5 === pow(-2,-1));
|
||||
var_dump(1 === pow(-2, 0));
|
||||
var_dump(-2 === pow(-2, 1));
|
||||
var_dump(4 === pow(-2, 2));
|
||||
var_dump(1.0 === pow(-1,-2));
|
||||
var_dump(-1.0 === pow(-1,-1));
|
||||
var_dump(1 === pow(-1, 0));
|
||||
var_dump(-1 === pow(-1, 1));
|
||||
var_dump(1 === pow(-1, 2));
|
||||
var_dump(TRUE === is_infinite(pow(0,-2)));
|
||||
var_dump(TRUE === is_infinite(pow(0,-1)));
|
||||
var_dump(1 === pow( 0, 0));
|
||||
var_dump(0 === pow( 0, 1));
|
||||
var_dump(0 === pow( 0, 2));
|
||||
var_dump(1.0 === pow( 1,-2));
|
||||
var_dump(1.0 === pow( 1,-1));
|
||||
var_dump(1 === pow( 1, 0));
|
||||
var_dump(1 === pow( 1, 1));
|
||||
var_dump(1 === pow( 1, 2));
|
||||
var_dump(0.25 === pow( 2,-2));
|
||||
var_dump(0.5 === pow( 2,-1));
|
||||
var_dump(1 === pow( 2, 0));
|
||||
var_dump(2 === pow( 2, 1));
|
||||
var_dump(4 === pow( 2, 2));
|
||||
var_dump(0.25 === pow(-2,-2.0));
|
||||
var_dump(-0.5 === pow(-2,-1.0));
|
||||
var_dump(1.0 === pow(-2, 0.0));
|
||||
var_dump(-2.0 === pow(-2, 1.0));
|
||||
var_dump(4.0 === pow(-2, 2.0));
|
||||
var_dump(1.0 === pow(-1,-2.0));
|
||||
var_dump(-1.0 === pow(-1,-1.0));
|
||||
var_dump(1.0 === pow(-1, 0.0));
|
||||
var_dump(-1.0 === pow(-1, 1.0));
|
||||
var_dump(1.0 === pow(-1, 2.0));
|
||||
var_dump(TRUE === is_infinite(pow(0,-2.0)));
|
||||
var_dump(TRUE === is_infinite(pow(0,-1.0)));
|
||||
var_dump(1.0 === pow( 0, 0.0));
|
||||
var_dump(0.0 === pow( 0, 1.0));
|
||||
var_dump(0.0 === pow( 0, 2.0));
|
||||
var_dump(1.0 === pow( 1,-2.0));
|
||||
var_dump(1.0 === pow( 1,-1.0));
|
||||
var_dump(1.0 === pow( 1, 0.0));
|
||||
var_dump(1.0 === pow( 1, 1.0));
|
||||
var_dump(1.0 === pow( 1, 2.0));
|
||||
var_dump(0.25 === pow( 2,-2.0));
|
||||
var_dump(0.5 === pow( 2,-1.0));
|
||||
var_dump(1.0 === pow( 2, 0.0));
|
||||
var_dump(2.0 === pow( 2, 1.0));
|
||||
var_dump(4.0 === pow( 2, 2.0));
|
||||
var_dump(2147483648 === pow(2,31));
|
||||
var_dump(epsilon_equal( -2147483648, pow(-2,31) ));
|
||||
var_dump(1000000000 === pow(10,9));
|
||||
var_dump(100000000 === pow(-10,8));
|
||||
var_dump(1 === pow(-1,1443279822));
|
||||
var_dump(-1 === pow(-1,1443279821));
|
||||
var_dump(epsilon_equal( sqrt(2), pow(2,1/2) ));
|
||||
var_dump(0.25 === pow(-2.0,-2.0));
|
||||
var_dump(-0.5 === pow(-2.0,-1.0));
|
||||
var_dump(1.0 === pow(-2.0, 0.0));
|
||||
var_dump(-2.0 === pow(-2.0, 1.0));
|
||||
var_dump(4.0 === pow(-2.0, 2.0));
|
||||
var_dump(1.0 === pow(-1.0,-2.0));
|
||||
var_dump(-1.0 === pow(-1.0,-1.0));
|
||||
var_dump(1.0 === pow(-1.0, 0.0));
|
||||
var_dump(-1.0 === pow(-1.0, 1.0));
|
||||
var_dump(1.0 === pow(-1.0, 2.0));
|
||||
var_dump(TRUE === is_infinite(pow(0.0,-2.0)));
|
||||
var_dump(TRUE === is_infinite(pow(0.0,-1.0)));
|
||||
var_dump(1.0 === pow( 0.0, 0.0));
|
||||
var_dump(0.0 === pow( 0.0, 1.0));
|
||||
var_dump(0.0 === pow( 0.0, 2.0));
|
||||
var_dump(1.0 === pow( 1.0,-2.0));
|
||||
var_dump(1.0 === pow( 1.0,-1.0));
|
||||
var_dump(1.0 === pow( 1.0, 0.0));
|
||||
var_dump(1.0 === pow( 1.0, 1.0));
|
||||
var_dump(1.0 === pow( 1.0, 2.0));
|
||||
var_dump(0.25 === pow( 2.0,-2.0));
|
||||
var_dump(0.5 === pow( 2.0,-1.0));
|
||||
var_dump(1.0 === pow( 2.0, 0.0));
|
||||
var_dump(2.0 === pow( 2.0, 1.0));
|
||||
var_dump(4.0 === pow( 2.0, 2.0));
|
||||
var_dump(0.25 === pow(-2.0,-2));
|
||||
var_dump(-0.5 === pow(-2.0,-1));
|
||||
var_dump(1.0 === pow(-2.0, 0));
|
||||
var_dump(-2.0 === pow(-2.0, 1));
|
||||
var_dump(4.0 === pow(-2.0, 2));
|
||||
var_dump(1.0 === pow(-1.0,-2));
|
||||
var_dump(-1.0 === pow(-1.0,-1));
|
||||
var_dump(1.0 === pow(-1.0, 0));
|
||||
var_dump(-1.0 === pow(-1.0, 1));
|
||||
var_dump(1.0 === pow(-1.0, 2));
|
||||
var_dump(TRUE === is_infinite(pow( 0.0,-2)));
|
||||
var_dump(TRUE === is_infinite(pow( 0.0,-1)));
|
||||
var_dump(1.0 === pow( 0.0, 0));
|
||||
var_dump(0.0 === pow( 0.0, 1));
|
||||
var_dump(0.0 === pow( 0.0, 2));
|
||||
var_dump(1.0 === pow( 1.0,-2));
|
||||
var_dump(1.0 === pow( 1.0,-1));
|
||||
var_dump(1.0 === pow( 1.0, 0));
|
||||
var_dump(1.0 === pow( 1.0, 1));
|
||||
var_dump(1.0 === pow( 1.0, 2));
|
||||
var_dump(0.25 === pow( 2.0,-2));
|
||||
var_dump(0.5 === pow( 2.0,-1));
|
||||
var_dump(1.0 === pow( 2.0, 0));
|
||||
var_dump(2.0 === pow( 2.0, 1));
|
||||
var_dump(4.0 === pow( 2.0, 2));
|
||||
var_dump(2.0 === pow( 4, 0.5));
|
||||
var_dump(2.0 === pow( 4.0, 0.5));
|
||||
var_dump(3.0 === pow( 27, 1/3));
|
||||
var_dump(3.0 === pow(27.0, 1/3));
|
||||
var_dump(0.5 === pow( 4, -0.5));
|
||||
var_dump(0.5 === pow( 4.0, -0.5));
|
||||
var_dump(LONG_MAX-1 === pow(LONG_MAX-1,1));
|
||||
var_dump(LONG_MIN+1 === pow(LONG_MIN+1,1));
|
||||
var_dump(epsilon_equal( (LONG_MAX-1)*(LONG_MAX-1) , pow(LONG_MAX-1,2) ));
|
||||
var_dump(epsilon_equal( (LONG_MIN+1)*(LONG_MIN+1) , pow(LONG_MIN+1,2) ));
|
||||
var_dump((float)(LONG_MAX-1) === pow(LONG_MAX-1,1.0));
|
||||
var_dump((float)(LONG_MIN+1) === pow(LONG_MIN+1,1.0));
|
||||
var_dump(epsilon_equal( (LONG_MAX-1)*(LONG_MAX-1) , pow(LONG_MAX-1,2.0) ));
|
||||
var_dump(epsilon_equal( (LONG_MIN+1)*(LONG_MIN+1) , pow(LONG_MIN+1,2.0) ));
|
||||
var_dump(LONG_MAX === pow(LONG_MAX,1));
|
||||
var_dump(LONG_MIN === pow(LONG_MIN,1));
|
||||
var_dump(epsilon_equal( LONG_MAX*LONG_MAX , pow(LONG_MAX,2) ));
|
||||
var_dump(epsilon_equal( LONG_MIN*LONG_MIN , pow(LONG_MIN,2) ));
|
||||
var_dump((float)LONG_MAX === pow(LONG_MAX,1.0));
|
||||
var_dump((float)LONG_MIN === pow(LONG_MIN,1.0));
|
||||
var_dump(epsilon_equal( LONG_MAX*LONG_MAX , pow(LONG_MAX,2.0) ));
|
||||
var_dump(epsilon_equal( LONG_MIN*LONG_MIN , pow(LONG_MIN,2.0) ));
|
||||
|
||||
echo "On failure, please mail result to php-dev@lists.php.net\n";
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
1,1,0,0
|
||||
On failure, please mail result to php-dev@lists.php.net
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
|
|
@ -8,31 +8,51 @@ define('LONG_MIN', -LONG_MAX - 1);
|
|||
printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ),
|
||||
is_int(LONG_MIN-1),is_int(LONG_MAX+1));
|
||||
|
||||
$tests = <<<TESTS
|
||||
-1 ~== ceil(-1.5)
|
||||
2 ~== ceil( 1.5)
|
||||
-2 ~== floor(-1.5)
|
||||
1 ~== floor(1.5)
|
||||
LONG_MIN ~== ceil(LONG_MIN - 0.5)
|
||||
LONG_MIN+1 ~== ceil(LONG_MIN + 0.5)
|
||||
LONG_MIN-1 ~== round(LONG_MIN - 0.6)
|
||||
LONG_MIN ~== round(LONG_MIN - 0.4)
|
||||
LONG_MIN ~== round(LONG_MIN + 0.4)
|
||||
LONG_MIN+1 ~== round(LONG_MIN + 0.6)
|
||||
LONG_MIN-1 ~== floor(LONG_MIN - 0.5)
|
||||
LONG_MIN ~== floor(LONG_MIN + 0.5)
|
||||
LONG_MAX ~== ceil(LONG_MAX - 0.5)
|
||||
LONG_MAX+1 ~== ceil(LONG_MAX + 0.5)
|
||||
LONG_MAX-1 ~== round(LONG_MAX - 0.6)
|
||||
LONG_MAX ~== round(LONG_MAX - 0.4)
|
||||
LONG_MAX ~== round(LONG_MAX + 0.4)
|
||||
LONG_MAX+1 ~== round(LONG_MAX + 0.6)
|
||||
LONG_MAX-1 ~== floor(LONG_MAX - 0.5)
|
||||
LONG_MAX ~== floor(LONG_MAX + 0.5)
|
||||
TESTS;
|
||||
function epsilon_equal($left, $right): bool {
|
||||
return abs(($left-$right) / $left) < 1e-12;
|
||||
}
|
||||
|
||||
var_dump(epsilon_equal( -1 , ceil(-1.5) ));
|
||||
var_dump(epsilon_equal( 2 , ceil( 1.5) ));
|
||||
var_dump(epsilon_equal( -2 , floor(-1.5) ));
|
||||
var_dump(epsilon_equal( 1 , floor(1.5) ));
|
||||
var_dump(epsilon_equal( LONG_MIN , ceil(LONG_MIN - 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MIN+1 , ceil(LONG_MIN + 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MIN-1 , round(LONG_MIN - 0.6) ));
|
||||
var_dump(epsilon_equal( LONG_MIN , round(LONG_MIN - 0.4) ));
|
||||
var_dump(epsilon_equal( LONG_MIN , round(LONG_MIN + 0.4) ));
|
||||
var_dump(epsilon_equal( LONG_MIN+1 , round(LONG_MIN + 0.6) ));
|
||||
var_dump(epsilon_equal( LONG_MIN-1 , floor(LONG_MIN - 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MIN , floor(LONG_MIN + 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MAX , ceil(LONG_MAX - 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MAX+1 , ceil(LONG_MAX + 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MAX-1 , round(LONG_MAX - 0.6) ));
|
||||
var_dump(epsilon_equal( LONG_MAX , round(LONG_MAX - 0.4) ));
|
||||
var_dump(epsilon_equal( LONG_MAX , round(LONG_MAX + 0.4) ));
|
||||
var_dump(epsilon_equal( LONG_MAX+1 , round(LONG_MAX + 0.6) ));
|
||||
var_dump(epsilon_equal( LONG_MAX-1 , floor(LONG_MAX - 0.5) ));
|
||||
var_dump(epsilon_equal( LONG_MAX , floor(LONG_MAX + 0.5) ));
|
||||
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
1,1,0,0
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
|
|
@ -3,25 +3,36 @@ trim(), rtrim() and ltrim() functions
|
|||
--FILE--
|
||||
<?php
|
||||
|
||||
$tests = <<<TESTS
|
||||
'ABC' === trim('ABC')
|
||||
'ABC' === ltrim('ABC')
|
||||
'ABC' === rtrim('ABC')
|
||||
'ABC' === trim(" \\0\\t\\nABC \\0\\t\\n")
|
||||
"ABC \\0\\t\\n" === ltrim(" \\0\\t\\nABC \\0\\t\\n")
|
||||
" \\0\\t\\nABC" === rtrim(" \\0\\t\\nABC \\0\\t\\n")
|
||||
" \\0\\t\\nABC \\0\\t\\n" === trim(" \\0\\t\\nABC \\0\\t\\n",'')
|
||||
" \\0\\t\\nABC \\0\\t\\n" === ltrim(" \\0\\t\\nABC \\0\\t\\n",'')
|
||||
" \\0\\t\\nABC \\0\\t\\n" === rtrim(" \\0\\t\\nABC \\0\\t\\n",'')
|
||||
"ABC\\x50\\xC1" === trim("ABC\\x50\\xC1\\x60\\x90","\\x51..\\xC0")
|
||||
"ABC\\x50" === trim("ABC\\x50\\xC1\\x60\\x90","\\x51..\\xC1")
|
||||
"ABC" === trim("ABC\\x50\\xC1\\x60\\x90","\\x50..\\xC1")
|
||||
"ABC\\x50\\xC1" === trim("ABC\\x50\\xC1\\x60\\x90","\\x51..\\xC0")
|
||||
"ABC\\x50" === trim("ABC\\x50\\xC1\\x60\\x90","\\x51..\\xC1")
|
||||
"ABC" === trim("ABC\\x50\\xC1\\x60\\x90","\\x50..\\xC1")
|
||||
TESTS;
|
||||
var_dump('ABC' === trim('ABC'));
|
||||
var_dump('ABC' === ltrim('ABC'));
|
||||
var_dump('ABC' === rtrim('ABC'));
|
||||
var_dump('ABC' === trim(" \0\t\nABC \0\t\n"));
|
||||
var_dump("ABC \0\t\n" === ltrim(" \0\t\nABC \0\t\n"));
|
||||
var_dump(" \0\t\nABC" === rtrim(" \0\t\nABC \0\t\n"));
|
||||
var_dump(" \0\t\nABC \0\t\n" === trim(" \0\t\nABC \0\t\n",''));
|
||||
var_dump(" \0\t\nABC \0\t\n" === ltrim(" \0\t\nABC \0\t\n",''));
|
||||
var_dump(" \0\t\nABC \0\t\n" === rtrim(" \0\t\nABC \0\t\n",''));
|
||||
var_dump("ABC\x50\xC1" === trim("ABC\x50\xC1\x60\x90","\x51..\xC0"));
|
||||
var_dump("ABC\x50" === trim("ABC\x50\xC1\x60\x90","\x51..\xC1"));
|
||||
var_dump("ABC" === trim("ABC\x50\xC1\x60\x90","\x50..\xC1"));
|
||||
var_dump("ABC\x50\xC1" === trim("ABC\x50\xC1\x60\x90","\x51..\xC0"));
|
||||
var_dump("ABC\x50" === trim("ABC\x50\xC1\x60\x90","\x51..\xC1"));
|
||||
var_dump("ABC" === trim("ABC\x50\xC1\x60\x90","\x50..\xC1"));
|
||||
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
|
|
@ -3,35 +3,29 @@ wordwrap() function
|
|||
--FILE--
|
||||
<?php
|
||||
|
||||
$tests = <<<TESTS
|
||||
"12345 12345 12345 12345" === wordwrap("12345 12345 12345 12345")
|
||||
"12345 12345\\n1234567890\\n1234567890" === wordwrap("12345 12345 1234567890 1234567890",12)
|
||||
"12345\\n12345\\n12345\\n12345" === wordwrap("12345 12345 12345 12345",0)
|
||||
"12345ab12345ab12345ab12345" === wordwrap("12345 12345 12345 12345",0,"ab")
|
||||
"12345 12345ab1234567890ab1234567890" === wordwrap("12345 12345 1234567890 1234567890",12,"ab")
|
||||
"123ab123ab123" === wordwrap("123ab123ab123", 3, "ab")
|
||||
"123ab123ab123" === wordwrap("123ab123ab123", 5, "ab")
|
||||
"123ab 123ab123" === wordwrap("123 123ab123", 3, "ab")
|
||||
"123ab123ab123" === wordwrap("123 123ab123", 5, "ab")
|
||||
"123 123ab123" === wordwrap("123 123 123", 10, "ab")
|
||||
var_dump("12345 12345 12345 12345" === wordwrap("12345 12345 12345 12345"));
|
||||
var_dump("12345 12345\n1234567890\n1234567890" === wordwrap("12345 12345 1234567890 1234567890",12));
|
||||
var_dump("12345\n12345\n12345\n12345" === wordwrap("12345 12345 12345 12345",0));
|
||||
var_dump("12345ab12345ab12345ab12345" === wordwrap("12345 12345 12345 12345",0,"ab"));
|
||||
var_dump("12345 12345ab1234567890ab1234567890" === wordwrap("12345 12345 1234567890 1234567890",12,"ab"));
|
||||
var_dump("123ab123ab123" === wordwrap("123ab123ab123", 3, "ab"));
|
||||
var_dump("123ab123ab123" === wordwrap("123ab123ab123", 5, "ab"));
|
||||
var_dump("123ab 123ab123" === wordwrap("123 123ab123", 3, "ab"));
|
||||
var_dump("123ab123ab123" === wordwrap("123 123ab123", 5, "ab"));
|
||||
var_dump("123 123ab123" === wordwrap("123 123 123", 10, "ab"));
|
||||
|
||||
"123ab123ab123" === wordwrap("123ab123ab123", 3, "ab", 1)
|
||||
"123ab123ab123" === wordwrap("123ab123ab123", 5, "ab", 1)
|
||||
"123ab 12ab3ab123" === wordwrap("123 123ab123", 3, "ab", 1)
|
||||
"123 ab123ab123" === wordwrap("123 123ab123", 5, "ab", 1)
|
||||
"123 123ab 123" === wordwrap("123 123 123", 8, "ab", 1)
|
||||
"123 ab12345 ab123" === wordwrap("123 12345 123", 8, "ab", 1)
|
||||
"1ab2ab3ab4" === wordwrap("1234", 1, "ab", 1)
|
||||
var_dump("123ab123ab123" === wordwrap("123ab123ab123", 3, "ab", 1));
|
||||
var_dump("123ab123ab123" === wordwrap("123ab123ab123", 5, "ab", 1));
|
||||
var_dump("123ab 12ab3ab123" === wordwrap("123 123ab123", 3, "ab", 1));
|
||||
var_dump("123 ab123ab123" === wordwrap("123 123ab123", 5, "ab", 1));
|
||||
var_dump("123 123ab 123" === wordwrap("123 123 123", 8, "ab", 1));
|
||||
var_dump("123 ab12345 ab123" === wordwrap("123 12345 123", 8, "ab", 1));
|
||||
var_dump("1ab2ab3ab4" === wordwrap("1234", 1, "ab", 1));
|
||||
|
||||
"12345|12345|67890" === wordwrap("12345 1234567890", 5, "|", 1)
|
||||
var_dump("12345|12345|67890" === wordwrap("12345 1234567890", 5, "|", 1));
|
||||
|
||||
"123|==1234567890|==123" === wordwrap("123 1234567890 123", 10, "|==", 1)
|
||||
var_dump("123|==1234567890|==123" === wordwrap("123 1234567890 123", 10, "|==", 1));
|
||||
|
||||
TESTS;
|
||||
|
||||
include(__DIR__ . '/../../../../tests/quicktester.inc');
|
||||
|
||||
echo "\n";
|
||||
|
||||
try {
|
||||
wordwrap(chr(0), 0, "");
|
||||
|
@ -40,5 +34,23 @@ try {
|
|||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
OK
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
wordwrap(): Argument #3 ($break) cannot be empty
|
||||
|
|
|
@ -8,17 +8,13 @@ define('LONG_MIN', -LONG_MAX - 1);
|
|||
printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ),
|
||||
is_int(LONG_MIN-1),is_int(LONG_MAX+1));
|
||||
|
||||
$i = LONG_MAX;
|
||||
$i = LONG_MAX;
|
||||
$j = $i * 1001;
|
||||
$i *= 1001;
|
||||
|
||||
$j = $i * 1001;
|
||||
$i *= 1001;
|
||||
var_dump($i === $j);
|
||||
|
||||
$tests = <<<TESTS
|
||||
$i === $j
|
||||
TESTS;
|
||||
|
||||
include(__DIR__ . '/../quicktester.inc');
|
||||
?>
|
||||
--EXPECT--
|
||||
1,1,0,0
|
||||
OK
|
||||
bool(true)
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
Helper for simple tests to check return-value. Usage:
|
||||
|
||||
$tests = <<<TESTS
|
||||
expected_return_value === expression
|
||||
2 === 1+1
|
||||
4 === 2*2
|
||||
FALSE === @ fopen('non_existent_file')
|
||||
TESTS;
|
||||
include( 'tests/quicktester.inc' );
|
||||
|
||||
Expect: OK
|
||||
|
||||
Remember to NOT put a trailing ; after a line!
|
||||
|
||||
*/
|
||||
error_reporting(E_ALL);
|
||||
$tests = explode("\n",$tests);
|
||||
$success = TRUE;
|
||||
foreach ($tests as $n=>$test)
|
||||
{
|
||||
// ignore empty lines
|
||||
if (!$test) continue;
|
||||
|
||||
// warn for trailing ;
|
||||
if (substr(trim($test), -1, 1) === ';') {
|
||||
echo "WARNING: trailing ';' found in test ".($n+1)."\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
// try for operators
|
||||
$operators = array('===', '~==');
|
||||
$operator = NULL;
|
||||
foreach ($operators as $a_operator) {
|
||||
if (strpos($test, $a_operator)!== FALSE) {
|
||||
$operator = $a_operator;
|
||||
list($left,$right) = explode($operator, $test);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$operator) {
|
||||
echo "WARNING: unknown operator in '$test' (1)\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
$left = eval("return ($left );");
|
||||
$right = eval("return ($right);");
|
||||
switch (@$operator) {
|
||||
case '===': // exact match
|
||||
$result = $left === $right;
|
||||
break;
|
||||
case '~==': // may differ after 12th significant number
|
||||
if ( !is_float($left ) && !is_int($left )
|
||||
|| !is_float($right) && !is_int($right)) {
|
||||
$result = FALSE;
|
||||
break;
|
||||
}
|
||||
$result = abs(($left-$right) / $left) < 1e-12;
|
||||
break;
|
||||
default:
|
||||
echo "WARNING: unknown operator in '$test' (2)\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
$success = $success && $result;
|
||||
if (!$result) {
|
||||
echo "\nAssert failed:\n";
|
||||
echo "$test\n";
|
||||
echo "Left: ";var_dump($left );
|
||||
echo "Right: ";var_dump($right);
|
||||
}
|
||||
}
|
||||
if ($success) echo "OK";
|
Loading…
Add table
Add a link
Reference in a new issue