diff options
Diffstat (limited to 'tests/classes/private_003b.phpt')
-rw-r--r-- | tests/classes/private_003b.phpt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/classes/private_003b.phpt b/tests/classes/private_003b.phpt new file mode 100644 index 0000000..780b2e6 --- /dev/null +++ b/tests/classes/private_003b.phpt @@ -0,0 +1,37 @@ +--TEST-- +ZE2 A private method cannot be called in a derived class +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> +--FILE-- +<?php + +class pass { + private function show() { + echo "Call show()\n"; + } + + protected function good() { + $this->show(); + } +} + +class fail extends pass { + public function ok() { + $this->good(); + } + + public function not_ok() { + $this->show(); + } +} + +$t = new fail(); +$t->ok(); +$t->not_ok(); // calling a private function + +echo "Done\n"; // shouldn't be displayed +?> +--EXPECTF-- +Call show() + +Fatal error: Call to private method pass::show() from context 'fail' in %s on line %d |