mirror of
https://github.com/php/php-src.git
synced 2024-09-23 10:57:26 +00:00
3ae995f03c
This implements a reduced variant of #1226 with just the following change: -Fatal error: Uncaught exception 'EngineException' with message 'Call to private method foo::bar() from context ''' in %s:%d +Fatal error: Uncaught EngineException: Call to private method foo::bar() from context '' in %s:%d The '' wrapper around messages is very weird if the exception message itself contains ''. Futhermore having the message wrapped in '' doesn't work for the "and defined" suffix of TypeExceptions.
37 lines
684 B
PHP
37 lines
684 B
PHP
--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 static function show() {
|
|
echo "Call show()\n";
|
|
}
|
|
|
|
public static function do_show() {
|
|
pass::show();
|
|
}
|
|
}
|
|
|
|
class fail extends pass {
|
|
static function do_show() {
|
|
pass::show();
|
|
}
|
|
}
|
|
|
|
pass::do_show();
|
|
fail::do_show();
|
|
|
|
echo "Done\n"; // shouldn't be displayed
|
|
?>
|
|
--EXPECTF--
|
|
Call show()
|
|
|
|
Fatal error: Uncaught EngineException: Call to private method pass::show() from context 'fail' in %s:%d
|
|
Stack trace:
|
|
#0 %s(%d): fail::do_show()
|
|
#1 {main}
|
|
thrown in %s on line %d
|