Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties() 
        !             3: --CREDITS--
        !             4: Robin Fernandes <robinf@php.net>
        !             5: Steve Seear <stevseea@php.net>
        !             6: --FILE--
        !             7: <?php
        !             8: 
        !             9: 
        !            10: class A {
        !            11:        static public $statPubC = "stat pubC in A";
        !            12:        static protected $statProtC = "stat protC in A";
        !            13:        static private $statPrivC = "stat privC in A";
        !            14:        
        !            15:        static public $statPubA = "stat pubA in A";
        !            16:        static protected $statProtA = "stat protA in A";
        !            17:        static private $statPrivA = "stat privA in A";
        !            18:        
        !            19:        public $pubC = "pubC in A";
        !            20:        protected $protC = "protC in A";
        !            21:        private $privC = "privC in A";
        !            22:        
        !            23:        public $pubA = "pubA in A";
        !            24:        protected $protA = "protA in A";
        !            25:        private $privA = "privA in A";
        !            26: }
        !            27: 
        !            28: class B extends A {
        !            29:        static public $statPubC = "stat pubC in B";
        !            30:        static protected $statProtC = "stat protC in B";
        !            31:        static private $statPrivC = "stat privC in B";
        !            32: 
        !            33:        static public $statPubB = "stat pubB in B";
        !            34:        static protected $statProtB = "stat protB in B";
        !            35:        static private $statPrivB = "stat privB in B";  
        !            36:        
        !            37:        public $pubC = "pubC in B";
        !            38:        protected $protC = "protC in B";
        !            39:        private $privC = "privC in B";
        !            40: 
        !            41:        public $pubB = "pubB in B";
        !            42:        protected $protB = "protB in B";
        !            43:        private $privB = "privB in B";  
        !            44: }
        !            45: 
        !            46: class C extends B {
        !            47:        static public $statPubC = "stat pubC in C";
        !            48:        static protected $statProtC = "stat protC in C";
        !            49:        static private $statPrivC = "stat privC in C";
        !            50:        
        !            51:        public $pubC = "pubC in C";
        !            52:        protected $protC = "protC in C";
        !            53:        private $privC = "privC in C";
        !            54: }
        !            55: 
        !            56: class X {
        !            57:        static public $statPubC = "stat pubC in X";
        !            58:        static protected $statProtC = "stat protC in X";
        !            59:        static private $statPrivC = "stat privC in X";
        !            60: 
        !            61:        public $pubC = "pubC in X";
        !            62:        protected $protC = "protC in X";
        !            63:        private $privC = "privC in X";  
        !            64: }
        !            65: 
        !            66: $classes = array('A', 'B', 'C', 'X');
        !            67: foreach ($classes as $class) {
        !            68:        $rc = new ReflectionClass($class);
        !            69:        echo "\n\n---- Static properties in $class ----\n";
        !            70:        print_r($rc->getStaticProperties());
        !            71:        echo "\n\n---- Default properties in $class ----\n";    
        !            72:        print_r($rc->getDefaultProperties());
        !            73: }
        !            74: 
        !            75: ?>
        !            76: --EXPECTF--
        !            77: ---- Static properties in A ----
        !            78: Array
        !            79: (
        !            80:     [statPubC] => stat pubC in A
        !            81:     [statProtC] => stat protC in A
        !            82:     [statPrivC] => stat privC in A
        !            83:     [statPubA] => stat pubA in A
        !            84:     [statProtA] => stat protA in A
        !            85:     [statPrivA] => stat privA in A
        !            86: )
        !            87: 
        !            88: 
        !            89: ---- Default properties in A ----
        !            90: Array
        !            91: (
        !            92:     [statPubC] => stat pubC in A
        !            93:     [statProtC] => stat protC in A
        !            94:     [statPrivC] => stat privC in A
        !            95:     [statPubA] => stat pubA in A
        !            96:     [statProtA] => stat protA in A
        !            97:     [statPrivA] => stat privA in A
        !            98:     [pubC] => pubC in A
        !            99:     [protC] => protC in A
        !           100:     [privC] => privC in A
        !           101:     [pubA] => pubA in A
        !           102:     [protA] => protA in A
        !           103:     [privA] => privA in A
        !           104: )
        !           105: 
        !           106: 
        !           107: ---- Static properties in B ----
        !           108: Array
        !           109: (
        !           110:     [statPubC] => stat pubC in B
        !           111:     [statProtC] => stat protC in B
        !           112:     [statPrivC] => stat privC in B
        !           113:     [statPubB] => stat pubB in B
        !           114:     [statProtB] => stat protB in B
        !           115:     [statPrivB] => stat privB in B
        !           116:     [statPubA] => stat pubA in A
        !           117:     [statProtA] => stat protA in A
        !           118: )
        !           119: 
        !           120: 
        !           121: ---- Default properties in B ----
        !           122: Array
        !           123: (
        !           124:     [statPubC] => stat pubC in B
        !           125:     [statProtC] => stat protC in B
        !           126:     [statPrivC] => stat privC in B
        !           127:     [statPubB] => stat pubB in B
        !           128:     [statProtB] => stat protB in B
        !           129:     [statPrivB] => stat privB in B
        !           130:     [statPubA] => stat pubA in A
        !           131:     [statProtA] => stat protA in A
        !           132:     [pubC] => pubC in B
        !           133:     [protC] => protC in B
        !           134:     [privC] => privC in B
        !           135:     [pubB] => pubB in B
        !           136:     [protB] => protB in B
        !           137:     [privB] => privB in B
        !           138:     [pubA] => pubA in A
        !           139:     [protA] => protA in A
        !           140: )
        !           141: 
        !           142: 
        !           143: ---- Static properties in C ----
        !           144: Array
        !           145: (
        !           146:     [statPubC] => stat pubC in C
        !           147:     [statProtC] => stat protC in C
        !           148:     [statPrivC] => stat privC in C
        !           149:     [statPubB] => stat pubB in B
        !           150:     [statProtB] => stat protB in B
        !           151:     [statPubA] => stat pubA in A
        !           152:     [statProtA] => stat protA in A
        !           153: )
        !           154: 
        !           155: 
        !           156: ---- Default properties in C ----
        !           157: Array
        !           158: (
        !           159:     [statPubC] => stat pubC in C
        !           160:     [statProtC] => stat protC in C
        !           161:     [statPrivC] => stat privC in C
        !           162:     [statPubB] => stat pubB in B
        !           163:     [statProtB] => stat protB in B
        !           164:     [statPubA] => stat pubA in A
        !           165:     [statProtA] => stat protA in A
        !           166:     [pubC] => pubC in C
        !           167:     [protC] => protC in C
        !           168:     [privC] => privC in C
        !           169:     [pubB] => pubB in B
        !           170:     [protB] => protB in B
        !           171:     [pubA] => pubA in A
        !           172:     [protA] => protA in A
        !           173: )
        !           174: 
        !           175: 
        !           176: ---- Static properties in X ----
        !           177: Array
        !           178: (
        !           179:     [statPubC] => stat pubC in X
        !           180:     [statProtC] => stat protC in X
        !           181:     [statPrivC] => stat privC in X
        !           182: )
        !           183: 
        !           184: 
        !           185: ---- Default properties in X ----
        !           186: Array
        !           187: (
        !           188:     [statPubC] => stat pubC in X
        !           189:     [statProtC] => stat protC in X
        !           190:     [statPrivC] => stat privC in X
        !           191:     [pubC] => pubC in X
        !           192:     [protC] => protC in X
        !           193:     [privC] => privC in X
        !           194: )

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