leak-php-object.phpt 551 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. Test V8::executeString() : Test for leaked PHP object if passed back multiple times
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $js =<<< EOF
  8. for(var i = 0; i < 1000; i ++) {
  9. PHP.foo.getStdClassObject();
  10. }
  11. EOF;
  12. class Foo {
  13. public function getStdClassObject() {
  14. return new stdClass();
  15. }
  16. public function __destruct() {
  17. echo "destroyed\n";
  18. }
  19. }
  20. $v8 = new V8Js();
  21. $v8->foo = new Foo();
  22. $v8->executeString($js);
  23. unset($v8);
  24. ?>
  25. ===EOF===
  26. --EXPECT--
  27. destroyed
  28. ===EOF===