diff --git a/tests/classes/private_members.phpt b/tests/classes/private_members.phpt new file mode 100755 index 00000000000..6b26e30c586 --- /dev/null +++ b/tests/classes/private_members.phpt @@ -0,0 +1,103 @@ +--TEST-- +A private member is +--SKIPIF-- + +--FILE-- +member = 'base::member'; + $this->test(); + echo __METHOD__ . "(end)\n"; + } + + function test() + { + echo __METHOD__ . "\n"; + print_r($this); + } +} + +class derived extends base +{ + public $member = 'derived::member (default)'; + + function __construct() + { + echo __METHOD__ . "(begin)\n"; + parent::__construct(); + parent::test(); + $this->test(); + $this->member = 'derived::member'; + echo __METHOD__ . "(end)\n"; + } + + function test() + { + parent::test(); + echo __METHOD__ . "\n"; + print_r($this); + } +} + +$t = new derived; +$t->test(); +unset($t); + +echo "Done\n"; + +?> +--EXPECTF-- +derived::__construct(begin) +base::__construct(begin) +base::test +derived Object +( + [member] => derived::member (default) + [member:private] => base::member +) +derived::test +derived Object +( + [member] => derived::member (default) + [member:private] => base::member +) +base::__construct(end) +base::test +derived Object +( + [member] => derived::member (default) + [member:private] => base::member +) +base::test +derived Object +( + [member] => derived::member (default) + [member:private] => base::member +) +derived::test +derived Object +( + [member] => derived::member (default) + [member:private] => base::member +) +derived::__construct(end) +base::test +derived Object +( + [member] => derived::member + [member:private] => base::member +) +derived::test +derived Object +( + [member] => derived::member + [member:private] => base::member +) +Done