Annotation of embedaddon/php/ext/reflection/tests/ReflectionProperty_constructor_variation1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionProperty::__construct(): ensure inherited private props can't be accessed through ReflectionProperty.
! 3: --FILE--
! 4: <?php
! 5:
! 6: class C {
! 7: private $p = 1;
! 8:
! 9: static function testFromC() {
! 10: try {
! 11: $rp = new ReflectionProperty("D", "p");
! 12: var_dump($rp);
! 13: } catch (Exception $e) {
! 14: echo $e->getMessage();
! 15: }
! 16: }
! 17: }
! 18:
! 19: class D extends C{
! 20: static function testFromD() {
! 21: try {
! 22: $rp = new ReflectionProperty("D", "p");
! 23: var_dump($rp);
! 24: } catch (Exception $e) {
! 25: echo $e->getMessage();
! 26: }
! 27: }
! 28: }
! 29:
! 30: echo "--> Reflect inherited private from global scope:\n";
! 31: try {
! 32: $rp = new ReflectionProperty("D", "p");
! 33: var_dump($rp);
! 34: } catch (Exception $e) {
! 35: echo $e->getMessage();
! 36: }
! 37:
! 38: echo "\n\n--> Reflect inherited private from declaring scope:\n";
! 39: C::testFromC();
! 40:
! 41: echo "\n\n--> Reflect inherited private from declaring scope via subclass:\n";
! 42: D::testFromC();
! 43:
! 44: echo "\n\n--> Reflect inherited private from subclass:\n";
! 45: D::testFromD();
! 46: ?>
! 47: --EXPECTF--
! 48: --> Reflect inherited private from global scope:
! 49: Property D::$p does not exist
! 50:
! 51: --> Reflect inherited private from declaring scope:
! 52: Property D::$p does not exist
! 53:
! 54: --> Reflect inherited private from declaring scope via subclass:
! 55: Property D::$p does not exist
! 56:
! 57: --> Reflect inherited private from subclass:
! 58: Property D::$p does not exist
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>