Browse Source

Add test against mixing static/non static methods

experimental/threaded
Marcus Boerger 24 years ago
parent
commit
622b45e2a9
  1. 26
      tests/classes/static_mix_1.phpt
  2. 27
      tests/classes/static_mix_2.phpt

26
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

27
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
Loading…
Cancel
Save