summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2014-09-04 20:00:32 +0200
committerNikita Popov <nikic@php.net>2014-09-04 20:03:29 +0200
commitf10d194c8cece6e0d5d34d8be0ea669bc6319e88 (patch)
tree95a0bae753c03eaf7759376801ec1416f1506939
parentaf3bd57d33b71df8264cc1d76d7a677a09fc5f2f (diff)
downloadphp-git-f10d194c8cece6e0d5d34d8be0ea669bc6319e88.tar.gz
Add GMP tests for some uncovered branches
-rw-r--r--ext/gmp/tests/007.phpt17
-rw-r--r--ext/gmp/tests/039.phpt5
-rw-r--r--ext/gmp/tests/041.phpt8
-rw-r--r--ext/gmp/tests/import-export.phpt10
-rw-r--r--ext/gmp/tests/overloading.phpt60
5 files changed, 92 insertions, 8 deletions
diff --git a/ext/gmp/tests/007.phpt b/ext/gmp/tests/007.phpt
index e391c121f8..90099249db 100644
--- a/ext/gmp/tests/007.phpt
+++ b/ext/gmp/tests/007.phpt
@@ -10,11 +10,13 @@ var_dump(gmp_div_qr(""));
var_dump(gmp_div_qr(0,1));
var_dump(gmp_div_qr(1,0));
+var_dump(gmp_div_qr(gmp_init(1), gmp_init(0)));
var_dump(gmp_div_qr(12653,23482734));
var_dump(gmp_div_qr(12653,23482734, 10));
var_dump(gmp_div_qr(1123123,123));
var_dump(gmp_div_qr(1123123,123, 1));
var_dump(gmp_div_qr(1123123,123, 2));
+var_dump(gmp_div_qr(gmp_init(1123123), gmp_init(123)));
var_dump(gmp_div_qr(1123123,123, GMP_ROUND_ZERO));
var_dump(gmp_div_qr(1123123,123, GMP_ROUND_PLUSINF));
var_dump(gmp_div_qr(1123123,123, GMP_ROUND_MINUSINF));
@@ -47,6 +49,9 @@ array(2) {
Warning: gmp_div_qr(): Zero operand not allowed in %s on line %d
bool(false)
+
+Warning: gmp_div_qr(): Zero operand not allowed in %s on line %d
+bool(false)
array(2) {
[0]=>
object(GMP)#%d (1) {
@@ -114,6 +119,18 @@ array(2) {
[0]=>
object(GMP)#%d (1) {
["num"]=>
+ string(4) "9131"
+ }
+ [1]=>
+ object(GMP)#%d (1) {
+ ["num"]=>
+ string(2) "10"
+ }
+}
+array(2) {
+ [0]=>
+ object(GMP)#%d (1) {
+ ["num"]=>
string(4) "9132"
}
[1]=>
diff --git a/ext/gmp/tests/039.phpt b/ext/gmp/tests/039.phpt
index 399c511370..ab40abed7f 100644
--- a/ext/gmp/tests/039.phpt
+++ b/ext/gmp/tests/039.phpt
@@ -5,6 +5,8 @@ gmp_testbit() basic tests
--FILE--
<?php
+var_dump(gmp_testbit());
+
$n = gmp_init(0);
var_dump(gmp_testbit($n, -10));
var_dump(gmp_testbit($n, 0));
@@ -38,6 +40,9 @@ var_dump(gmp_strval($n));
echo "Done\n";
?>
--EXPECTF--
+Warning: gmp_testbit() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+
Warning: gmp_testbit(): Index must be greater than or equal to zero in %s on line %d
bool(false)
bool(false)
diff --git a/ext/gmp/tests/041.phpt b/ext/gmp/tests/041.phpt
index 6e6d959288..cd442b1a54 100644
--- a/ext/gmp/tests/041.phpt
+++ b/ext/gmp/tests/041.phpt
@@ -5,6 +5,9 @@ gmp_root() and gmp_rootrem() basic tests
--FILE--
<?php
+var_dump(gmp_root());
+var_dump(gmp_rootrem());
+
var_dump(gmp_root(1000, 3));
var_dump(gmp_root(100, 3));
var_dump(gmp_root(-100, 3));
@@ -31,6 +34,11 @@ var_dump(gmp_rootrem(100, -3));
?>
--EXPECTF--
+Warning: gmp_root() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+
+Warning: gmp_rootrem() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
object(GMP)#%d (1) {
["num"]=>
string(2) "10"
diff --git a/ext/gmp/tests/import-export.phpt b/ext/gmp/tests/import-export.phpt
index 00632517e9..42000a10fc 100644
--- a/ext/gmp/tests/import-export.phpt
+++ b/ext/gmp/tests/import-export.phpt
@@ -92,6 +92,10 @@ foreach ($export as $k => $test) {
var_dump($passed);
+// Invalid arguments (zpp failure)
+var_dump(gmp_import());
+var_dump(gmp_export());
+
// Invalid word sizes
var_dump(gmp_import('a', -1));
var_dump(gmp_import('a', 0));
@@ -117,6 +121,12 @@ bool(true)
Export:
bool(true)
+Warning: gmp_import() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+Warning: gmp_export() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
Warning: gmp_import(): Word size must be positive, -1 given in %s on line %d
bool(false)
diff --git a/ext/gmp/tests/overloading.phpt b/ext/gmp/tests/overloading.phpt
index 0d8f5cfedb..3520f58bdc 100644
--- a/ext/gmp/tests/overloading.phpt
+++ b/ext/gmp/tests/overloading.phpt
@@ -16,6 +16,10 @@ var_dump($a - $b);
var_dump($a - 17);
var_dump(42 - $b);
+var_dump($a * $b);
+var_dump($a * 17);
+var_dump(42 * $b);
+
var_dump($a / $b);
var_dump($a / 17);
var_dump(42 / $b);
@@ -26,7 +30,9 @@ var_dump($a % 17);
var_dump(42 % $b);
var_dump($a % 0);
-// sl, sr
+var_dump($a ** $b);
+var_dump($a ** 17);
+var_dump(42 ** $b);
var_dump($a | $b);
var_dump($a | 17);
@@ -47,6 +53,9 @@ var_dump(42 << $b);
var_dump($a >> 2);
var_dump(-$a >> 2);
+var_dump($a << -1);
+var_dump($a >> -1);
+
var_dump(~$a);
var_dump(-$a);
var_dump(+$a);
@@ -83,9 +92,14 @@ var_dump(--$a);
var_dump($a--);
var_dump($a);
-$x = gmp_init(3);
-$y = gmp_init(2);
-var_dump($x ** $y);
+// Test operator that was not overloaded
+
+var_dump($a . $b);
+var_dump($a . '17');
+var_dump('42' . $b);
+
+$a .= '17';
+var_dump($a);
?>
--EXPECTF--
@@ -115,6 +129,18 @@ object(GMP)#%d (1) {
}
object(GMP)#%d (1) {
["num"]=>
+ string(3) "714"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
+ string(3) "714"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
+ string(3) "714"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
string(1) "2"
}
object(GMP)#%d (1) {
@@ -145,6 +171,18 @@ Warning: main(): Zero operand not allowed in %s on line %d
bool(false)
object(GMP)#%d (1) {
["num"]=>
+ string(28) "3937657486715347520027492352"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
+ string(28) "3937657486715347520027492352"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
+ string(28) "3937657486715347520027492352"
+}
+object(GMP)#%d (1) {
+ ["num"]=>
string(2) "59"
}
object(GMP)#%d (1) {
@@ -199,6 +237,12 @@ object(GMP)#%d (1) {
["num"]=>
string(3) "-11"
}
+
+Warning: main(): Shift cannot be negative in %s on line %d
+bool(false)
+
+Warning: main(): Shift cannot be negative in %s on line %d
+bool(false)
object(GMP)#%d (1) {
["num"]=>
string(3) "-43"
@@ -260,7 +304,7 @@ object(GMP)#%d (1) {
["num"]=>
string(2) "42"
}
-object(GMP)#%d (1) {
- ["num"]=>
- string(1) "9"
-}
+string(4) "4217"
+string(4) "4217"
+string(4) "4217"
+string(4) "4217"