gmp_xor.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. --TEST--
  2. gmp_xor() basic tests
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. var_dump(gmp_strval(gmp_xor("111111", "2222222")));
  8. var_dump(gmp_strval(gmp_xor(123123, 435234)));
  9. var_dump(gmp_strval(gmp_xor(555, "2342341123")));
  10. var_dump(gmp_strval(gmp_xor(-1, 3333)));
  11. var_dump(gmp_strval(gmp_xor(4545, -20)));
  12. try {
  13. var_dump(gmp_strval(gmp_xor("test", "no test")));
  14. } catch (\ValueError $e) {
  15. echo $e->getMessage() . \PHP_EOL;
  16. }
  17. $n = gmp_init("987657876543456");
  18. var_dump(gmp_strval(gmp_xor($n, "34332")));
  19. $n1 = gmp_init("987657878765436543456");
  20. var_dump(gmp_strval(gmp_xor($n, $n1)));
  21. try {
  22. var_dump(gmp_xor(array(), 1));
  23. } catch (\TypeError $e) {
  24. echo $e->getMessage() . \PHP_EOL;
  25. }
  26. try {
  27. var_dump(gmp_xor(1, array()));
  28. } catch (\TypeError $e) {
  29. echo $e->getMessage() . \PHP_EOL;
  30. }
  31. try {
  32. var_dump(gmp_xor(array(), array()));
  33. } catch (\TypeError $e) {
  34. echo $e->getMessage() . \PHP_EOL;
  35. }
  36. echo "Done\n";
  37. ?>
  38. --EXPECT--
  39. string(7) "2120329"
  40. string(6) "476369"
  41. string(10) "2342340648"
  42. string(5) "-3334"
  43. string(5) "-4563"
  44. gmp_xor(): Argument #1 ($num1) is not an integer string
  45. string(15) "987657876574716"
  46. string(21) "987658017016065701376"
  47. gmp_xor(): Argument #1 ($num1) must be of type GMP|string|int, array given
  48. gmp_xor(): Argument #2 ($num2) must be of type GMP|string|int, array given
  49. gmp_xor(): Argument #1 ($num1) must be of type GMP|string|int, array given
  50. Done