mirror of
https://github.com/php/php-src.git
synced 2026-03-24 08:12:21 +01:00
Move more low-hanging fruit, creating new directories for the tests for: * comparisons * dynamic calls * error messages * `error_reporting()` * exceptions * `foreach()` * garbage collection * group `use` statements * heredoc and nowdoc * `goto` jumps * late static binding * magic methods * namespaces * numeric literal separators * objects * `settype()` * cleaning of temporary values * `unset()` Additionally, move some tests into the existing subdirectory for `list()` tests. Drive-by fixes of some test numbers in the names of the `goto` tests. Work towards GH-15631
50 lines
689 B
PHP
50 lines
689 B
PHP
--TEST--
|
|
Testing invalid method names with __call and __callstatic
|
|
--FILE--
|
|
<?php
|
|
|
|
class foo {
|
|
public function __call($a, $b) {
|
|
print "non-static - ok\n";
|
|
}
|
|
|
|
public static function __callstatic($a, $b) {
|
|
print "static - ok\n";
|
|
}
|
|
}
|
|
|
|
$a = new foo;
|
|
$a->foooo();
|
|
$a::foooo();
|
|
|
|
$b = 'aaaaa1';
|
|
$a->$b();
|
|
$a::$b();
|
|
|
|
$b = ' ';
|
|
$a->$b();
|
|
$a::$b();
|
|
|
|
$b = str_repeat('a', 10000);
|
|
$a->$b();
|
|
$a::$b();
|
|
|
|
$b = NULL;
|
|
$a->$b();
|
|
|
|
?>
|
|
--EXPECTF--
|
|
non-static - ok
|
|
static - ok
|
|
non-static - ok
|
|
static - ok
|
|
non-static - ok
|
|
static - ok
|
|
non-static - ok
|
|
static - ok
|
|
|
|
Fatal error: Uncaught Error: Method name must be a string in %s:%d
|
|
Stack trace:
|
|
#0 {main}
|
|
thrown in %s on line %d
|