diff options
-rwxr-xr-x | tests/classes/abstract_by_interface_001.phpt | 33 | ||||
-rwxr-xr-x | tests/classes/abstract_by_interface_002.phpt | 33 |
2 files changed, 66 insertions, 0 deletions
diff --git a/tests/classes/abstract_by_interface_001.phpt b/tests/classes/abstract_by_interface_001.phpt new file mode 100755 index 0000000000..7565fdf45f --- /dev/null +++ b/tests/classes/abstract_by_interface_001.phpt @@ -0,0 +1,33 @@ +--TEST-- +ZE2 An abstract method may not be called +--FILE-- +<?php + +class Root { +} + +interface MyInterface +{ + function MyInterfaceFunc(); +} + +abstract class Derived extends Root implements MyInterface { +} + +class Leaf extends Derived +{ + function MyInterfaceFunc() {} +} + +var_dump(new Leaf); + +class Fails extends Root implements MyInterface { +} + +?> +===DONE=== +--EXPECTF-- +object(Leaf)#%d (0) { +} + +Fatal error: Class Fails contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (MyInterface::MyInterfaceFunc) in %sabstract_by_interface_001.php on line %d diff --git a/tests/classes/abstract_by_interface_002.phpt b/tests/classes/abstract_by_interface_002.phpt new file mode 100755 index 0000000000..77c5619dfe --- /dev/null +++ b/tests/classes/abstract_by_interface_002.phpt @@ -0,0 +1,33 @@ +--TEST-- +ZE2 An abstract method may not be called +--FILE-- +<?php + +class Root { +} + +interface MyInterface +{ + static function MyInterfaceFunc(); +} + +abstract class Derived extends Root implements MyInterface { +} + +class Leaf extends Derived +{ + static function MyInterfaceFunc() {} +} + +var_dump(new Leaf); + +class Fails extends Root implements MyInterface { +} + +?> +===DONE=== +--EXPECTF-- +object(Leaf)#%d (0) { +} + +Fatal error: Class Fails contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (MyInterface::MyInterfaceFunc) in %sabstract_by_interface_002.php on line %d |