--TEST-- gmp_import() basic tests --SKIPIF-- --FILE-- $test) { $gmp = gmp_import(hex2bin($test[3]), $test[1], $test[2]); if ($gmp instanceof GMP) { $result = gmp_strval($gmp, 16); if ($result !== $test[0]) { echo "$k: '$result' !== '{$test[0]}'\n"; $passed = false; } } else { $type = gettype($gmp); echo "$k: $type !== '{$test[0]}'\n"; } } var_dump($passed); // Invalid word sizes try { var_dump(gmp_import('a', -1)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_import('a', 0)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } // Invalid data lengths try { var_dump(gmp_import('a', 2)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_import('aa', 3)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_import(str_repeat('a', 100), 64)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } // Invalid options try { var_dump(gmp_import('a', 1, GMP_MSW_FIRST | GMP_LSW_FIRST)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } try { var_dump(gmp_import('a', 1, GMP_BIG_ENDIAN | GMP_LITTLE_ENDIAN)); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } ?> --EXPECT-- bool(true) gmp_import(): Argument #2 ($word_size) must be greater than or equal to 1 gmp_import(): Argument #2 ($word_size) must be greater than or equal to 1 gmp_import(): Argument #1 ($data) must be a multiple of argument #2 ($word_size) gmp_import(): Argument #1 ($data) must be a multiple of argument #2 ($word_size) gmp_import(): Argument #1 ($data) must be a multiple of argument #2 ($word_size) gmp_import(): Argument #3 ($flags) cannot use multiple word order options gmp_import(): Argument #3 ($flags) cannot use multiple endian options