get_accessor.phpt 850 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Test V8::executeString() : PHP variables via get accessor
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --INI--
  6. display_errors=off
  7. --FILE--
  8. <?php
  9. $JS = <<<'EOT'
  10. print(typeof $foobar + "\n"); // Undefined
  11. print(myobj.$foobar + "\n"); // Undefined (in 1st run!)
  12. print(myobj.$_SERVER['REQUEST_TIME'] + "\n");
  13. myobj.$foobar = 'CHANGED'; // should be read only!
  14. print(myobj.$foobar + "\n"); // Undefined (in 1st run!)
  15. EOT;
  16. $a = new V8Js("myobj", array('$_SERVER' => '_SERVER', '$foobar' => 'myfoobar'));
  17. $a->executeString($JS, "test1.js");
  18. $myfoobar = 'myfoobarfromphp';
  19. $a->executeString($JS, "test2.js");
  20. // Check that variables do not get in object ..
  21. var_dump($a->myfoobar, $a->foobar);
  22. ?>
  23. ===EOF===
  24. --EXPECTF--
  25. undefined
  26. undefined
  27. %d
  28. undefined
  29. undefined
  30. myfoobarfromphp
  31. %d
  32. myfoobarfromphp
  33. NULL
  34. NULL
  35. ===EOF===