v8_write_property.phpt 696 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Test V8::executeString() : write property on V8Object
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $v8 = new V8Js();
  8. $a = $v8->executeString('var a = { bla: 23 }; a');
  9. var_dump($a);
  10. // properties on $a should be writable
  11. $a->bla = 42;
  12. var_dump($a);
  13. $v8->executeString('print(a.bla + "\\n");');
  14. unset($v8);
  15. try {
  16. // writing not valid, if $v8 object is disposed
  17. $a->bla = 5;
  18. }
  19. catch(V8JsException $e) {
  20. var_dump($e->getMessage());
  21. }
  22. ?>
  23. ===EOF===
  24. --EXPECTF--
  25. object(V8Object)#%d (1) {
  26. ["bla"]=>
  27. int(23)
  28. }
  29. object(V8Object)#%d (1) {
  30. ["bla"]=>
  31. int(42)
  32. }
  33. 42
  34. string(55) "Can't access V8Object after V8Js instance is destroyed!"
  35. ===EOF===