diff options
Diffstat (limited to 'tests/classes/private_003.phpt')
-rw-r--r-- | tests/classes/private_003.phpt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/classes/private_003.phpt b/tests/classes/private_003.phpt new file mode 100644 index 0000000000..d65222de94 --- /dev/null +++ b/tests/classes/private_003.phpt @@ -0,0 +1,36 @@ +--TEST-- +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 +ini_set("error_reporting",2039); +class pass { + private static function show() { + echo "Call show()\n"; + } + + protected static function good() { + pass::show(); + } +} + +class fail extends pass { + static function ok() { + pass::good(); + } + + static function not_ok() { + pass::show(); + } +} + +fail::ok(); +fail::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 |