/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt
87 строк
2 KB
Niels Dossche
Fix test failures in engine_unsafe_empty_string.phpt (#18727)
01 июн 2025, 16:45
Не верифицирован
01 июн 2025, 16:45
d8a17ca
Код
Авторство
О чём код?
--TEST-- Random: Randomizer: Engines returning an empty string are detected and rejected --FILE-- <?php use Random\Engine; use Random\Randomizer; final class EmptyStringEngine implements Engine { public function generate(): string { // Create a non-interned empty string. return preg_replace('/./s', '', random_bytes(4)); } } function randomizer(): Randomizer { return new Randomizer(new EmptyStringEngine()); } try { var_dump(randomizer()->getInt(0, 1234)); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->nextInt()); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(bin2hex(randomizer()->getBytes(1))); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->shuffleArray(range(1, 1234))); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->pickArrayKeys(range(1, 1234), 1)); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->pickArrayKeys(range(1, 1234), 10)); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->shuffleBytes('foobar')); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->getBytesFromString('123', 10)); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } try { var_dump(randomizer()->getBytesFromString(str_repeat('a', 500), 10)); } catch (Random\BrokenRandomEngineError $e) { echo $e->getMessage(), PHP_EOL; } ?> --EXPECT-- A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string