diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:36:21 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:36:21 -0400 |
| commit | d29a4fd2dd3b5d4cf6e80b602544d7b71d794e76 (patch) | |
| tree | b38e2e5c6974b9a15f103e5cf884cba9fff90ef4 /ext/reflection/tests/bug39067.phpt | |
| parent | a88a88d0986a4a32288c102cdbfebd78d7e91d99 (diff) | |
| download | php-upstream/5.2.0.tar.gz | |
Imported Upstream version 5.2.0upstream/5.2.0
Diffstat (limited to 'ext/reflection/tests/bug39067.phpt')
| -rw-r--r-- | ext/reflection/tests/bug39067.phpt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ext/reflection/tests/bug39067.phpt b/ext/reflection/tests/bug39067.phpt new file mode 100644 index 000000000..8a7a6044e --- /dev/null +++ b/ext/reflection/tests/bug39067.phpt @@ -0,0 +1,45 @@ +--TEST-- +Bug #39067 (getDeclaringClass() and private properties) +--FILE-- +<?php + +class A { + private $x; +} + +class B extends A { + private $x; +} + +class C extends B { + private $x; +} + +$rc = new ReflectionClass('C'); +var_dump($rc->getProperty('x')->getDeclaringClass()->getName()); + +$rc = new ReflectionClass('B'); +var_dump($rc->getProperty('x')->getDeclaringClass()->getName()); + +$rc = new ReflectionClass('A'); +var_dump($rc->getProperty('x')->getDeclaringClass()->getName()); + +class Test { + private $x; +} + +class Test2 extends Test { + public $x; +} + +$rc = new ReflectionClass('Test2'); +var_dump($rc->getProperty('x')->getDeclaringClass()->getName()); + +echo "Done\n"; +?> +--EXPECTF-- +string(1) "C" +string(1) "B" +string(1) "A" +string(5) "Test2" +Done |
