summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.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_getDefaultProperties_001.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_getDefaultProperties_001.phpt')
-rw-r--r--ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt198
1 files changed, 198 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt b/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt
new file mode 100644
index 0000000000..3bf8f77ec6
--- /dev/null
+++ b/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt
@@ -0,0 +1,198 @@
+--TEST--
+ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties()
+--CREDITS--
+Robin Fernandes <robinf@php.net>
+Steve Seear <stevseea@php.net>
+--FILE--
+<?php
+
+
+class A {
+ static public $statPubC = "stat pubC in A";
+ static protected $statProtC = "stat protC in A";
+ static private $statPrivC = "stat privC in A";
+
+ static public $statPubA = "stat pubA in A";
+ static protected $statProtA = "stat protA in A";
+ static private $statPrivA = "stat privA in A";
+
+ public $pubC = "pubC in A";
+ protected $protC = "protC in A";
+ private $privC = "privC in A";
+
+ public $pubA = "pubA in A";
+ protected $protA = "protA in A";
+ private $privA = "privA in A";
+}
+
+class B extends A {
+ static public $statPubC = "stat pubC in B";
+ static protected $statProtC = "stat protC in B";
+ static private $statPrivC = "stat privC in B";
+
+ static public $statPubB = "stat pubB in B";
+ static protected $statProtB = "stat protB in B";
+ static private $statPrivB = "stat privB in B";
+
+ public $pubC = "pubC in B";
+ protected $protC = "protC in B";
+ private $privC = "privC in B";
+
+ public $pubB = "pubB in B";
+ protected $protB = "protB in B";
+ private $privB = "privB in B";
+}
+
+class C extends B {
+ static public $statPubC = "stat pubC in C";
+ static protected $statProtC = "stat protC in C";
+ static private $statPrivC = "stat privC in C";
+
+ public $pubC = "pubC in C";
+ protected $protC = "protC in C";
+ private $privC = "privC in C";
+}
+
+class X {
+ static public $statPubC = "stat pubC in X";
+ static protected $statProtC = "stat protC in X";
+ static private $statPrivC = "stat privC in X";
+
+ public $pubC = "pubC in X";
+ protected $protC = "protC in X";
+ private $privC = "privC in X";
+}
+
+$classes = array('A', 'B', 'C', 'X');
+foreach ($classes as $class) {
+ $rc = new ReflectionClass($class);
+ echo "\n\n---- Static properties in $class ----\n";
+ print_r($rc->getStaticProperties());
+ echo "\n\n---- Default properties in $class ----\n";
+ print_r($rc->getDefaultProperties());
+}
+
+?>
+--EXPECTF--
+---- Static properties in A ----
+Array
+(
+ [statPubC] => stat pubC in A
+ [statProtC] => stat protC in A
+ [statPrivC] => stat privC in A
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [statPrivA] => stat privA in A
+)
+
+
+---- Default properties in A ----
+Array
+(
+ [statPubC] => stat pubC in A
+ [statProtC] => stat protC in A
+ [statPrivC] => stat privC in A
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [statPrivA] => stat privA in A
+ [pubC] => pubC in A
+ [protC] => protC in A
+ [privC] => privC in A
+ [pubA] => pubA in A
+ [protA] => protA in A
+ [privA] => privA in A
+)
+
+
+---- Static properties in B ----
+Array
+(
+ [statPubC] => stat pubC in B
+ [statProtC] => stat protC in B
+ [statPrivC] => stat privC in A
+ [statPubB] => stat pubB in B
+ [statProtB] => stat protB in B
+ [statPrivB] => stat privB in B
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [statPrivA] => stat privA in A
+)
+
+
+---- Default properties in B ----
+Array
+(
+ [statPubC] => stat pubC in B
+ [statProtC] => stat protC in B
+ [statPrivC] => stat privC in B
+ [statPubB] => stat pubB in B
+ [statProtB] => stat protB in B
+ [statPrivB] => stat privB in B
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [pubC] => pubC in B
+ [protC] => protC in B
+ [privC] => privC in B
+ [pubB] => pubB in B
+ [protB] => protB in B
+ [privB] => privB in B
+ [pubA] => pubA in A
+ [protA] => protA in A
+)
+
+
+---- Static properties in C ----
+Array
+(
+ [statPubC] => stat pubC in C
+ [statProtC] => stat protC in C
+ [statPrivC] => stat privC in A
+ [statPubB] => stat pubB in B
+ [statProtB] => stat protB in B
+ [statPrivB] => stat privB in B
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [statPrivA] => stat privA in A
+)
+
+
+---- Default properties in C ----
+Array
+(
+ [statPubC] => stat pubC in C
+ [statProtC] => stat protC in C
+ [statPrivC] => stat privC in C
+ [statPubB] => stat pubB in B
+ [statProtB] => stat protB in B
+ [statPubA] => stat pubA in A
+ [statProtA] => stat protA in A
+ [pubC] => pubC in C
+ [protC] => protC in C
+ [privC] => privC in C
+ [pubB] => pubB in B
+ [protB] => protB in B
+ [pubA] => pubA in A
+ [protA] => protA in A
+)
+
+
+---- Static properties in X ----
+Array
+(
+ [statPubC] => stat pubC in X
+ [statProtC] => stat protC in X
+ [statPrivC] => stat privC in X
+)
+
+
+---- Default properties in X ----
+Array
+(
+ [statPubC] => stat pubC in X
+ [statProtC] => stat protC in X
+ [statPrivC] => stat privC in X
+ [pubC] => pubC in X
+ [protC] => protC in X
+ [privC] => privC in X
+)
+