Annotation of embedaddon/php/ext/standard/tests/class_object/get_class_methods_basic_002.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test get_class_methods() function : basic functionality
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : proto array get_class_methods(mixed class)
                      6:  * Description: Returns an array of method names for class or class instance. 
                      7:  * Source code: Zend/zend_builtin_functions.c
                      8:  * Alias to functions: 
                      9:  */
                     10: 
                     11: /*
                     12:  * Test behaviour with various visibility levels.
                     13:  */
                     14: 
                     15: class C {
                     16:        private function privC() {}
                     17:        protected function protC() {}
                     18:        public function pubC() {}
                     19:        
                     20:        public static function testFromC() {
                     21:                echo "Accessing C from C:\n";
                     22:                var_dump(get_class_methods("C"));
                     23:                echo "Accessing D from C:\n";
                     24:                var_dump(get_class_methods("D"));
                     25:                echo "Accessing X from C:\n";
                     26:                var_dump(get_class_methods("X"));
                     27:        }
                     28: }
                     29: 
                     30: class D extends C {
                     31:        private function privD() {}
                     32:        protected function protD() {}
                     33:        public function pubD() {}
                     34:        
                     35:        public static function testFromD() {
                     36:                echo "Accessing C from D:\n";
                     37:                var_dump(get_class_methods("C"));
                     38:                echo "Accessing D from D:\n";
                     39:                var_dump(get_class_methods("D"));
                     40:                echo "Accessing X from D:\n";
                     41:                var_dump(get_class_methods("X"));
                     42:        }
                     43: }
                     44: 
                     45: class X {
                     46:        private function privX() {}
                     47:        protected function protX() {}
                     48:        public function pubX() {}
                     49:        
                     50:        public static function testFromX() {
                     51:                echo "Accessing C from X:\n";
                     52:                var_dump(get_class_methods("C"));
                     53:                echo "Accessing D from X:\n";
                     54:                var_dump(get_class_methods("D"));
                     55:                echo "Accessing X from X:\n";
                     56:                var_dump(get_class_methods("X"));
                     57:        }
                     58: }
                     59: 
                     60: echo "Accessing D from global scope:\n";
                     61: var_dump(get_class_methods("D"));
                     62: 
                     63: C::testFromC();
                     64: D::testFromD();
                     65: X::testFromX();
                     66: 
                     67: echo "Done";
                     68: ?>
                     69: --EXPECTF--
                     70: Accessing D from global scope:
                     71: array(4) {
                     72:   [0]=>
                     73:   string(4) "pubD"
                     74:   [1]=>
                     75:   string(9) "testFromD"
                     76:   [2]=>
                     77:   string(4) "pubC"
                     78:   [3]=>
                     79:   string(9) "testFromC"
                     80: }
                     81: Accessing C from C:
                     82: array(4) {
                     83:   [0]=>
                     84:   string(5) "privC"
                     85:   [1]=>
                     86:   string(5) "protC"
                     87:   [2]=>
                     88:   string(4) "pubC"
                     89:   [3]=>
                     90:   string(9) "testFromC"
                     91: }
                     92: Accessing D from C:
                     93: array(7) {
                     94:   [0]=>
                     95:   string(5) "protD"
                     96:   [1]=>
                     97:   string(4) "pubD"
                     98:   [2]=>
                     99:   string(9) "testFromD"
                    100:   [3]=>
                    101:   string(5) "privC"
                    102:   [4]=>
                    103:   string(5) "protC"
                    104:   [5]=>
                    105:   string(4) "pubC"
                    106:   [6]=>
                    107:   string(9) "testFromC"
                    108: }
                    109: Accessing X from C:
                    110: array(2) {
                    111:   [0]=>
                    112:   string(4) "pubX"
                    113:   [1]=>
                    114:   string(9) "testFromX"
                    115: }
                    116: Accessing C from D:
                    117: array(3) {
                    118:   [0]=>
                    119:   string(5) "protC"
                    120:   [1]=>
                    121:   string(4) "pubC"
                    122:   [2]=>
                    123:   string(9) "testFromC"
                    124: }
                    125: Accessing D from D:
                    126: array(7) {
                    127:   [0]=>
                    128:   string(5) "privD"
                    129:   [1]=>
                    130:   string(5) "protD"
                    131:   [2]=>
                    132:   string(4) "pubD"
                    133:   [3]=>
                    134:   string(9) "testFromD"
                    135:   [4]=>
                    136:   string(5) "protC"
                    137:   [5]=>
                    138:   string(4) "pubC"
                    139:   [6]=>
                    140:   string(9) "testFromC"
                    141: }
                    142: Accessing X from D:
                    143: array(2) {
                    144:   [0]=>
                    145:   string(4) "pubX"
                    146:   [1]=>
                    147:   string(9) "testFromX"
                    148: }
                    149: Accessing C from X:
                    150: array(2) {
                    151:   [0]=>
                    152:   string(4) "pubC"
                    153:   [1]=>
                    154:   string(9) "testFromC"
                    155: }
                    156: Accessing D from X:
                    157: array(4) {
                    158:   [0]=>
                    159:   string(4) "pubD"
                    160:   [1]=>
                    161:   string(9) "testFromD"
                    162:   [2]=>
                    163:   string(4) "pubC"
                    164:   [3]=>
                    165:   string(9) "testFromC"
                    166: }
                    167: Accessing X from X:
                    168: array(4) {
                    169:   [0]=>
                    170:   string(5) "privX"
                    171:   [1]=>
                    172:   string(5) "protX"
                    173:   [2]=>
                    174:   string(4) "pubX"
                    175:   [3]=>
                    176:   string(9) "testFromX"
                    177: }
                    178: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>