php-src/tests/classes/private_003.phpt
Nikita Popov 3ae995f03c Tweak uncaught exception message display
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.
2015-05-17 18:47:06 +02:00

41 lines
782 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
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: Uncaught EngineException: Call to private method pass::show() from context 'fail' in %s:%d
Stack trace:
#0 %s(%d): fail::not_ok()
#1 {main}
thrown in %s on line %d