exception_filter_003.phpt 665 B

12345678910111213141516171819202122232425262728293031323334
  1. --TEST--
  2. Test V8::setExceptionFilter() : Filter handling on exception in setModuleNormaliser
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $v8 = new V8Js();
  8. $v8->setModuleNormaliser(function ($path) {
  9. throw new Error('blarg');
  10. });
  11. $v8->setModuleLoader(function ($path) {
  12. throw new Error('moep');
  13. });
  14. $v8->setExceptionFilter(function (Throwable $ex) {
  15. echo "exception filter called.\n";
  16. return $ex->getMessage();
  17. });
  18. $v8->executeString('
  19. try {
  20. require("file");
  21. } catch(e) {
  22. var_dump(e);
  23. }
  24. ', null, V8Js::FLAG_PROPAGATE_PHP_EXCEPTIONS);
  25. ?>
  26. ===EOF===
  27. --EXPECT--
  28. exception filter called.
  29. string(5) "blarg"
  30. ===EOF===