diff options
author | Marcus Boerger <helly@php.net> | 2002-11-24 15:50:28 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2002-11-24 15:50:28 +0000 |
commit | 622b45e2a987a4fe8bcd080aa1bc51ad59241e48 (patch) | |
tree | 1be35cd2c4da40d8eb79e1cea1f869a3f09970b8 /tests | |
parent | 490903da5ad33a7ff40d81339fd5803f56c935b1 (diff) | |
download | php-git-622b45e2a987a4fe8bcd080aa1bc51ad59241e48.tar.gz |
Add test against mixing static/non static methods
Diffstat (limited to 'tests')
-rw-r--r-- | tests/classes/static_mix_1.phpt | 26 | ||||
-rw-r--r-- | tests/classes/static_mix_2.phpt | 27 |
2 files changed, 53 insertions, 0 deletions
diff --git a/tests/classes/static_mix_1.phpt b/tests/classes/static_mix_1.phpt new file mode 100644 index 0000000000..47950b3165 --- /dev/null +++ b/tests/classes/static_mix_1.phpt @@ -0,0 +1,26 @@ +--TEST-- +You cannot overload astatic methods with a non static methods +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> +--FILE-- +<?php + +class pass { + static function show() { + echo "Call to function pass::show()\n"; + } +} + +class fail extends pass { + function show() { + echo "Call to function fail::show()\n"; + } +} + +pass::show(); +fail::show(); + +echo "Done\n"; // shouldn't be displayed of cause +?> +--EXPECTF-- +Fatal error: Cannot make static method pass::show() non static in class fail in %s on line %d
\ No newline at end of file diff --git a/tests/classes/static_mix_2.phpt b/tests/classes/static_mix_2.phpt new file mode 100644 index 0000000000..949b9a1b8d --- /dev/null +++ b/tests/classes/static_mix_2.phpt @@ -0,0 +1,27 @@ +--TEST-- +You cannot overload a non static methods with a static methods +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> +--FILE-- +<?php + +class pass { + function show() { + echo "Call to function pass::show()\n"; + } +} + +class fail extends pass { + static function show() { + echo "Call to function fail::show()\n"; + } +} + +$t = new pass(); +$t->show(); +fail::show(); + +echo "Done\n"; // shouldn't be displayed of cause +?> +--EXPECTF-- +Fatal error: Cannot make non static method pass::show() static in class fail in %s on line %d
\ No newline at end of file |