summaryrefslogtreecommitdiff
path: root/ext/standard/tests/class_object/get_class_vars_variation2.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/class_object/get_class_vars_variation2.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/class_object/get_class_vars_variation2.phpt')
-rw-r--r--ext/standard/tests/class_object/get_class_vars_variation2.phpt168
1 files changed, 168 insertions, 0 deletions
diff --git a/ext/standard/tests/class_object/get_class_vars_variation2.phpt b/ext/standard/tests/class_object/get_class_vars_variation2.phpt
new file mode 100644
index 0000000..fad5716
--- /dev/null
+++ b/ext/standard/tests/class_object/get_class_vars_variation2.phpt
@@ -0,0 +1,168 @@
+--TEST--
+Test get_class_vars() function : testing visibility
+--FILE--
+<?php
+/* Prototype : array get_class_vars(string class_name)
+ * Description: Returns an array of default properties of the class.
+ * Source code: Zend/zend_builtin_functions.c
+ * Alias to functions:
+ */
+
+class Ancestor {
+ function test() {
+ var_dump(get_class_vars("Tester"));
+ }
+
+ static function testStatic() {
+ var_dump(get_class_vars("Tester"));
+ }
+}
+
+class Tester extends Ancestor {
+ public $pub = "public var";
+ protected $prot = "protected var";
+ private $priv = "private var";
+
+ static public $pubs = "public static var";
+ static protected $prots = "protected static var";
+ static private $privs = "private static var";
+
+ function test() {
+ var_dump(get_class_vars("Tester"));
+ }
+
+ static function testStatic() {
+ var_dump(get_class_vars("Tester"));
+ }
+}
+
+class Child extends Tester {
+ function test() {
+ var_dump(get_class_vars("Tester"));
+ }
+
+ static function testStatic() {
+ var_dump(get_class_vars("Tester"));
+ }
+}
+
+echo "*** Testing get_class_vars() : testing visibility\n";
+
+echo "\n-- From global context --\n";
+var_dump(get_class_vars("Tester"));
+
+echo "\n-- From inside an object instance --\n";
+$instance = new Tester();
+$instance->test();
+
+echo "\n-- From a static context --\n";
+Tester::testStatic();
+
+
+echo "\n-- From inside an parent object instance --\n";
+$parent = new Ancestor();
+$parent->test();
+
+echo "\n-- From a parents static context --\n";
+Ancestor::testStatic();
+
+
+echo "\n-- From inside a child object instance --\n";
+$child = new Child();
+$child->test();
+
+echo "\n-- From a child's static context --\n";
+Child::testStatic();
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_class_vars() : testing visibility
+
+-- From global context --
+array(2) {
+ ["pub"]=>
+ string(10) "public var"
+ ["pubs"]=>
+ string(17) "public static var"
+}
+
+-- From inside an object instance --
+array(6) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["priv"]=>
+ string(11) "private var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+ ["privs"]=>
+ string(18) "private static var"
+}
+
+-- From a static context --
+array(6) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["priv"]=>
+ string(11) "private var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+ ["privs"]=>
+ string(18) "private static var"
+}
+
+-- From inside an parent object instance --
+array(4) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+}
+
+-- From a parents static context --
+array(4) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+}
+
+-- From inside a child object instance --
+array(4) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+}
+
+-- From a child's static context --
+array(4) {
+ ["pub"]=>
+ string(10) "public var"
+ ["prot"]=>
+ string(13) "protected var"
+ ["pubs"]=>
+ string(17) "public static var"
+ ["prots"]=>
+ string(20) "protected static var"
+}
+===DONE===