fatal_error_no_uninstall_inner_frame.phpt 865 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Test V8::executeString() : Fatal Error handler not to uninstall on inner frames
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $js = new V8Js();
  8. $js->bar = function() {
  9. echo "nothing.\n";
  10. };
  11. $js->foo = function() {
  12. global $js;
  13. // call to JS context, this must not touch the error handling context
  14. $js->executeString("PHP.bar();");
  15. $bar = null;
  16. $bar->foo();
  17. };
  18. $js->executeString("PHP.foo();");
  19. ?>
  20. ===EOF===
  21. --EXPECTF--
  22. nothing.
  23. Fatal error: Uncaught Error: Call to a member function foo() on null in %s%efatal_error_no_uninstall_inner_frame.php:15
  24. Stack trace:
  25. #0 [internal function]: {closure}()
  26. #1 [internal function]: Closure->__invoke()
  27. #2 %s%efatal_error_no_uninstall_inner_frame.php(18): V8Js->executeString('PHP.foo();')
  28. #3 {main}
  29. thrown in %s%efatal_error_no_uninstall_inner_frame.php on line 15