summaryrefslogtreecommitdiff
path: root/tests/classes/private_006.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/private_006.phpt')
-rw-r--r--tests/classes/private_006.phpt41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/classes/private_006.phpt b/tests/classes/private_006.phpt
new file mode 100644
index 0000000..0bb2b3f
--- /dev/null
+++ b/tests/classes/private_006.phpt
@@ -0,0 +1,41 @@
+--TEST--
+ZE2 A private method can be overwritten in a second derived class
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+class first {
+ private static function show() {
+ echo "Call show()\n";
+ }
+
+ public static function do_show() {
+ first::show();
+ }
+}
+
+first::do_show();
+
+class second extends first {
+}
+
+second::do_show();
+
+class third extends second {
+}
+
+third::do_show();
+
+class fail extends third {
+ static function show() { // cannot be redeclared
+ echo "Call show()\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Call show()
+Call show()
+Call show()
+Done