123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- --TEST--
- Test V8::executeString() : Property visibility - delete
- --SKIPIF--
- <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
- --FILE--
- <?php
- class Foo {
- private $privBar = "privBar";
- protected $protBar = "protBar";
- public $pubBar = "pubBar";
- public function dump($a)
- {
- var_dump(@$this->$a);
- }
- }
- $js = new V8Js();
- $js->foo = new Foo();
- $script = <<<END
- var_dump(PHP.foo.privBar);
- delete PHP.foo.privBar;
- var_dump(PHP.foo.privBar);
- PHP.foo.privBar = 42;
- var_dump(PHP.foo.privBar);
- delete PHP.foo.privBar;
- var_dump(PHP.foo.privBar);
- var_dump(PHP.foo.protBar);
- delete PHP.foo.protBar;
- var_dump(PHP.foo.protBar);
- var_dump(PHP.foo.pubBar);
- delete PHP.foo.pubBar;
- var_dump(PHP.foo.pubBar);
- END;
- $js->foo->dump('privBar');
- $js->foo->dump('protBar');
- $js->foo->dump('pubBar');
- echo "--- JS ---\n";
- $js->executeString($script);
- echo "--- PHP ---\n";
- $js->foo->dump('privBar');
- $js->foo->dump('protBar');
- $js->foo->dump('pubBar');
- ?>
- ===EOF===
- --EXPECT--
- string(7) "privBar"
- string(7) "protBar"
- string(6) "pubBar"
- --- JS ---
- NULL
- NULL
- int(42)
- NULL
- NULL
- NULL
- string(6) "pubBar"
- NULL
- --- PHP ---
- string(7) "privBar"
- string(7) "protBar"
- NULL
- ===EOF===
|