summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionClass_getProperties_003.phpt
diff options
context:
space:
mode:
authorAnt Phillips <ant@php.net>2008-11-18 15:37:57 +0000
committerAnt Phillips <ant@php.net>2008-11-18 15:37:57 +0000
commitddb2c0584149313d80fbec89f01264338b0073b7 (patch)
treef5251b8af450d59bf19ce6de2d7a7cdd5dd78a10 /ext/reflection/tests/ReflectionClass_getProperties_003.phpt
parentf305ddbe537005997dccc00e9057de42a76cf631 (diff)
downloadphp-git-ddb2c0584149313d80fbec89f01264338b0073b7.tar.gz
Reflection tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
Diffstat (limited to 'ext/reflection/tests/ReflectionClass_getProperties_003.phpt')
-rw-r--r--ext/reflection/tests/ReflectionClass_getProperties_003.phpt189
1 files changed, 189 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionClass_getProperties_003.phpt b/ext/reflection/tests/ReflectionClass_getProperties_003.phpt
new file mode 100644
index 0000000000..e22d870fcd
--- /dev/null
+++ b/ext/reflection/tests/ReflectionClass_getProperties_003.phpt
@@ -0,0 +1,189 @@
+--TEST--
+ReflectionClass::getProperties()
+--CREDITS--
+Robin Fernandes <robinf@php.net>
+Steve Seear <stevseea@php.net>
+--FILE--
+<?php
+class C {
+ public $pub1;
+ public $pub2;
+ private $priv1;
+ private $priv2;
+ static public $pubs;
+ static public $pubs2;
+ static private $privs1;
+ static private $privs2;
+}
+
+$rc = new ReflectionClass("C");
+$StaticFlag = 0x01;
+$pubFlag = 0x100;
+$privFlag = 0x400;
+
+echo "No properties:";
+var_dump($rc->getProperties(0));
+
+echo "Public properties:";
+var_dump($rc->getProperties($pubFlag));
+
+echo "Private properties:";
+var_dump($rc->getProperties($privFlag));
+
+echo "Public or static properties:";
+var_dump($rc->getProperties($StaticFlag | $pubFlag));
+
+echo "Private or static properties:";
+var_dump($rc->getProperties($StaticFlag | $privFlag));
+?>
+--EXPECTF--
+No properties:array(0) {
+}
+Public properties:array(4) {
+ [0]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pub1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [1]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pub2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [2]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pubs"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [3]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "pubs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+}
+Private properties:array(4) {
+ [0]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "priv1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [1]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "priv2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [2]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [3]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+}
+Public or static properties:array(6) {
+ [0]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pub1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [1]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pub2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [2]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pubs"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [3]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "pubs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [4]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [5]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+}
+Private or static properties:array(6) {
+ [0]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "priv1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [1]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "priv2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [2]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(4) "pubs"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [3]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(5) "pubs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [4]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs1"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+ [5]=>
+ &object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(6) "privs2"
+ [u"class"]=>
+ unicode(1) "C"
+ }
+} \ No newline at end of file