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

1.1     ! misho       1: --TEST--
        !             2: Test ReflectionProperty::setAccessible().
        !             3: --FILE--
        !             4: <?php
        !             5: class A {
        !             6:     protected $protected = 'a';
        !             7:     protected static $protectedStatic = 'b';
        !             8:     private $private = 'c';
        !             9:     private static $privateStatic = 'd';
        !            10: }
        !            11: 
        !            12: class B extends A {}
        !            13: 
        !            14: $a               = new A;
        !            15: $protected       = new ReflectionProperty($a, 'protected');
        !            16: $protectedStatic = new ReflectionProperty('A', 'protectedStatic');
        !            17: $private         = new ReflectionProperty($a, 'private');
        !            18: $privateStatic   = new ReflectionProperty('A', 'privateStatic');
        !            19: 
        !            20: try {
        !            21:     var_dump($protected->getValue($a));
        !            22: }
        !            23: 
        !            24: catch (ReflectionException $e) {
        !            25:     var_dump($e->getMessage());
        !            26: }
        !            27: 
        !            28: try {
        !            29:     var_dump($protectedStatic->getValue());
        !            30: }
        !            31: 
        !            32: catch (ReflectionException $e) {
        !            33:     var_dump($e->getMessage());
        !            34: }
        !            35: 
        !            36: try {
        !            37:     var_dump($private->getValue($a));
        !            38: }
        !            39: 
        !            40: catch (ReflectionException $e) {
        !            41:     var_dump($e->getMessage());
        !            42: }
        !            43: 
        !            44: try {
        !            45:     var_dump($privateStatic->getValue());
        !            46: }
        !            47: 
        !            48: catch (ReflectionException $e) {
        !            49:     var_dump($e->getMessage());
        !            50: }
        !            51: 
        !            52: $protected->setAccessible(TRUE);
        !            53: $protectedStatic->setAccessible(TRUE);
        !            54: $private->setAccessible(TRUE);
        !            55: $privateStatic->setAccessible(TRUE);
        !            56: 
        !            57: var_dump($protected->getValue($a));
        !            58: var_dump($protectedStatic->getValue());
        !            59: var_dump($private->getValue($a));
        !            60: var_dump($privateStatic->getValue());
        !            61: 
        !            62: $protected->setValue($a, 'e');
        !            63: $protectedStatic->setValue('f');
        !            64: $private->setValue($a, 'g');
        !            65: $privateStatic->setValue('h');
        !            66: 
        !            67: var_dump($protected->getValue($a));
        !            68: var_dump($protectedStatic->getValue());
        !            69: var_dump($private->getValue($a));
        !            70: var_dump($privateStatic->getValue());
        !            71: 
        !            72: $a               = new A;
        !            73: $b               = new B;
        !            74: $protected       = new ReflectionProperty($b, 'protected');
        !            75: $protectedStatic = new ReflectionProperty('B', 'protectedStatic');
        !            76: $private         = new ReflectionProperty($a, 'private');
        !            77: 
        !            78: try {
        !            79:     var_dump($protected->getValue($b));
        !            80: }
        !            81: 
        !            82: catch (ReflectionException $e) {
        !            83:     var_dump($e->getMessage());
        !            84: }
        !            85: 
        !            86: try {
        !            87:     var_dump($protectedStatic->getValue());
        !            88: }
        !            89: 
        !            90: catch (ReflectionException $e) {
        !            91:     var_dump($e->getMessage());
        !            92: }
        !            93: 
        !            94: try {
        !            95:     var_dump($private->getValue($b));
        !            96: }
        !            97: 
        !            98: catch (ReflectionException $e) {
        !            99:     var_dump($e->getMessage());
        !           100: }
        !           101: 
        !           102: $protected->setAccessible(TRUE);
        !           103: $protectedStatic->setAccessible(TRUE);
        !           104: $private->setAccessible(TRUE);
        !           105: 
        !           106: var_dump($protected->getValue($b));
        !           107: var_dump($protectedStatic->getValue());
        !           108: var_dump($private->getValue($b));
        !           109: 
        !           110: $protected->setValue($b, 'e');
        !           111: $protectedStatic->setValue('f');
        !           112: $private->setValue($b, 'g');
        !           113: 
        !           114: var_dump($protected->getValue($b));
        !           115: var_dump($protectedStatic->getValue());
        !           116: var_dump($private->getValue($b));
        !           117: ?>
        !           118: --EXPECT--
        !           119: string(44) "Cannot access non-public member A::protected"
        !           120: string(50) "Cannot access non-public member A::protectedStatic"
        !           121: string(42) "Cannot access non-public member A::private"
        !           122: string(48) "Cannot access non-public member A::privateStatic"
        !           123: string(1) "a"
        !           124: string(1) "b"
        !           125: string(1) "c"
        !           126: string(1) "d"
        !           127: string(1) "e"
        !           128: string(1) "f"
        !           129: string(1) "g"
        !           130: string(1) "h"
        !           131: string(44) "Cannot access non-public member B::protected"
        !           132: string(50) "Cannot access non-public member B::protectedStatic"
        !           133: string(42) "Cannot access non-public member A::private"
        !           134: string(1) "a"
        !           135: string(1) "f"
        !           136: string(1) "c"
        !           137: string(1) "e"
        !           138: string(1) "f"
        !           139: string(1) "g"

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