gmp_sub.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --TEST--
  2. gmp_sub() tests
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. try {
  8. var_dump(gmp_sub("", ""));
  9. } catch (\ValueError $e) {
  10. echo $e->getMessage() . \PHP_EOL;
  11. }
  12. try {
  13. var_dump(gmp_sub(array(), array()));
  14. } catch (\TypeError $e) {
  15. echo $e->getMessage() . \PHP_EOL;
  16. }
  17. var_dump($g = gmp_sub(10000, 10001));
  18. var_dump(gmp_strval($g));
  19. var_dump($g = gmp_sub(10000, -1));
  20. var_dump(gmp_strval($g));
  21. try {
  22. var_dump($g = gmp_sub(10000, new stdclass));
  23. var_dump(gmp_strval($g));
  24. } catch (\TypeError $e) {
  25. echo $e->getMessage() . \PHP_EOL;
  26. }
  27. try {
  28. var_dump($g = gmp_sub(new stdclass, 100));
  29. var_dump(gmp_strval($g));
  30. } catch (\TypeError $e) {
  31. echo $e->getMessage() . \PHP_EOL;
  32. }
  33. echo "Done\n";
  34. ?>
  35. --EXPECT--
  36. gmp_sub(): Argument #1 ($num1) is not an integer string
  37. gmp_sub(): Argument #1 ($num1) must be of type GMP|string|int, array given
  38. object(GMP)#1 (1) {
  39. ["num"]=>
  40. string(2) "-1"
  41. }
  42. string(2) "-1"
  43. object(GMP)#3 (1) {
  44. ["num"]=>
  45. string(5) "10001"
  46. }
  47. string(5) "10001"
  48. gmp_sub(): Argument #2 ($num2) must be of type GMP|string|int, stdClass given
  49. gmp_sub(): Argument #1 ($num1) must be of type GMP|string|int, stdClass given
  50. Done