Forráskód Böngészése

Add test on property visibility regarding hasOwnProperty

Stefan Siegl 11 éve
szülő
commit
956eacb180
1 módosított fájl, 49 hozzáadás és 0 törlés
  1. 49 0
      tests/property_visibility-has-property.phpt

+ 49 - 0
tests/property_visibility-has-property.phpt

@@ -0,0 +1,49 @@
+--TEST--
+Test V8::executeString() : Property visibility - has property
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+class Foo {
+	private $privBar = "privBar";
+	protected $protBar = "protBar";
+	public $pubBar = "pubBar";
+}
+
+$js = new V8Js();
+$js->foo = new Foo();
+
+$script = <<<END
+
+var_dump(PHP.foo.hasOwnProperty("privBar"));
+var_dump(PHP.foo.hasOwnProperty("protBar"));
+var_dump(PHP.foo.hasOwnProperty("pubBar"));
+var_dump(PHP.foo.hasOwnProperty("unknownBar"));
+
+PHP.foo.privBar = 23;
+PHP.foo.protBar = 23;
+PHP.foo.pubBar = 23;
+PHP.foo.unknownBar = 23;
+
+var_dump(PHP.foo.hasOwnProperty("privBar"));
+var_dump(PHP.foo.hasOwnProperty("protBar"));
+var_dump(PHP.foo.hasOwnProperty("pubBar"));
+var_dump(PHP.foo.hasOwnProperty("unknownBar"));
+
+END;
+
+$js->executeString($script);
+
+?>
+===EOF===
+--EXPECT--
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+===EOF===