issue_183_004.phpt 833 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Test V8::executeString() : Method access on derived classes (overridden V8Js methods)
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. class Foo extends \V8Js
  8. {
  9. public function hello()
  10. {
  11. print("Hello World\n");
  12. }
  13. public function executeString($script, $identifier = NULL, $flags = NULL, $time_limit = NULL, $memory_limit = NULL)
  14. {
  15. var_dump("executeString");
  16. return parent::executeString($script);
  17. }
  18. }
  19. $JS = <<< EOT
  20. var_dump(typeof PHP.hello);
  21. var_dump(typeof PHP.executeString);
  22. try {
  23. PHP.executeString('print("blar")');
  24. }
  25. catch(e) {
  26. var_dump('caught');
  27. }
  28. EOT;
  29. $v8 = new Foo();
  30. $v8->executeString($JS);
  31. ?>
  32. ===EOF===
  33. --EXPECTF--
  34. string(13) "executeString"
  35. string(8) "function"
  36. string(9) "undefined"
  37. string(6) "caught"
  38. ===EOF===