property_visibility-has-property.phpt 940 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. Test V8::executeString() : Property visibility - has property
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. class Foo {
  8. private $privBar = "privBar";
  9. protected $protBar = "protBar";
  10. public $pubBar = "pubBar";
  11. }
  12. $js = new V8Js();
  13. $js->foo = new Foo();
  14. $script = <<<END
  15. var_dump(PHP.foo.hasOwnProperty("privBar"));
  16. var_dump(PHP.foo.hasOwnProperty("protBar"));
  17. var_dump(PHP.foo.hasOwnProperty("pubBar"));
  18. var_dump(PHP.foo.hasOwnProperty("unknownBar"));
  19. PHP.foo.privBar = 23;
  20. PHP.foo.protBar = 23;
  21. PHP.foo.pubBar = 23;
  22. PHP.foo.unknownBar = 23;
  23. var_dump(PHP.foo.hasOwnProperty("privBar"));
  24. var_dump(PHP.foo.hasOwnProperty("protBar"));
  25. var_dump(PHP.foo.hasOwnProperty("pubBar"));
  26. var_dump(PHP.foo.hasOwnProperty("unknownBar"));
  27. END;
  28. $js->executeString($script);
  29. ?>
  30. ===EOF===
  31. --EXPECT--
  32. bool(false)
  33. bool(false)
  34. bool(true)
  35. bool(false)
  36. bool(true)
  37. bool(true)
  38. bool(true)
  39. bool(true)
  40. ===EOF===