summaryrefslogtreecommitdiff
path: root/tests/classes/abstract_static.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/abstract_static.phpt')
-rw-r--r--tests/classes/abstract_static.phpt36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/classes/abstract_static.phpt b/tests/classes/abstract_static.phpt
new file mode 100644
index 0000000..bcebec5
--- /dev/null
+++ b/tests/classes/abstract_static.phpt
@@ -0,0 +1,36 @@
+--TEST--
+ZE2 A static abstract methods
+--FILE--
+<?php
+
+interface showable
+{
+ static function show();
+}
+
+class pass implements showable
+{
+ static function show() {
+ echo "Call to function show()\n";
+ }
+}
+
+pass::show();
+
+eval('
+class fail
+{
+ abstract static function func();
+}
+');
+
+fail::show();
+
+echo "Done\n"; // shouldn't be displayed
+?>
+--EXPECTF--
+Call to function show()
+
+Strict Standards: Static function fail::func() should not be abstract in %sabstract_static.php(%d) : eval()'d code on line %d
+
+Fatal error: Class fail contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (fail::func) in %sabstract_static.php(%d) : eval()'d code on line %d