--TEST-- gmp_export() basic tests --EXTENSIONS-- gmp --FILE-- $test) { $gmp = gmp_init($test[0], 16); $str = gmp_export($gmp, $test[1], $test[2]); if (is_string($str)) { $result = bin2hex($str); if ($result !== $test[3]) { echo "$k: '$result' !== '{$test[3]}'\n"; $passed = false; } } else { $type = gettype($str); echo "$k: $type !== '{$test[3]}'\n"; } } var_dump($passed); // Argument converted from int to GMP var_dump(bin2hex(gmp_export(0xff))); // Invalid word sizes try { var_dump(gmp_export(123, -1)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_export(123, 0)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } // Invalid options try { var_dump(gmp_export(123, 1, GMP_MSW_FIRST | GMP_LSW_FIRST)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_export(123, 1, GMP_BIG_ENDIAN | GMP_LITTLE_ENDIAN)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } ?> --EXPECT-- bool(true) string(2) "ff" gmp_export(): Argument #2 ($word_size) must be greater than or equal to 1 gmp_export(): Argument #2 ($word_size) must be greater than or equal to 1 gmp_export(): Argument #3 ($flags) cannot use multiple word order options gmp_export(): Argument #3 ($flags) cannot use multiple endian options