1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- --TEST--
- Test V8::executeString() : Object passed from PHP
- --SKIPIF--
- <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
- --FILE--
- <?php
- $JS = <<< EOT
- function dump(a)
- {
- for (var i in a) {
- var val = a[i];
- print(i + ' => ' + val + "\\n");
- }
- }
- function test()
- {
- dump(PHP.myobj);
- PHP.myobj.foo = 'CHANGED';
- PHP.myobj.mytest();
- }
- test();
- print(PHP.myobj.foo + "\\n");
- EOT;
- // Test class
- class Testing
- {
- public $foo = 'ORIGINAL';
- private $my_private = 'arf'; // Should not show in JS side
- protected $my_protected = 'argh'; // Should not show in JS side
- function mytest() { echo 'Here be monsters..', "\n"; }
- }
- $a = new V8Js();
- $a->myobj = new Testing();
- $a->executeString($JS, "test.js");
- // Check that variable has not been modified
- var_dump($a->myobj->foo);
- ?>
- ===EOF===
- --EXPECT--
- mytest => function () { [native code] }
- foo => ORIGINAL
- Here be monsters..
- ORIGINAL
- string(8) "ORIGINAL"
- ===EOF===
|