FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt 609 B

123456789101112131415161718192021222324
  1. --TEST--
  2. The callback given to set_rejection_handler() may trigger a fatal error for unhandled rejection
  3. --INI--
  4. # suppress legacy PHPUnit 7 warning for Xdebug 3
  5. xdebug.default_enable=
  6. --FILE--
  7. <?php
  8. use function React\Promise\reject;
  9. use function React\Promise\set_rejection_handler;
  10. require __DIR__ . '/../vendor/autoload.php';
  11. set_rejection_handler(function (Throwable $e): void {
  12. trigger_error('Unexpected ' . get_class($e) . ': ' .$e->getMessage(), E_USER_ERROR);
  13. });
  14. reject(new RuntimeException('foo'));
  15. echo 'NEVER';
  16. ?>
  17. --EXPECTF--
  18. Fatal error: Unexpected RuntimeException: foo in %s line %d