mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02: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
49 lines
630 B
PHP
49 lines
630 B
PHP
--TEST--
|
|
Testing several magic methods
|
|
--FILE--
|
|
<?php
|
|
|
|
class foo {
|
|
function __unset($a) {
|
|
print "unset\n";
|
|
var_dump($a);
|
|
}
|
|
|
|
public function __call($a, $b) {
|
|
print "call\n";
|
|
var_dump($a);
|
|
}
|
|
function __clone() {
|
|
print "clone\n";
|
|
}
|
|
static public function __callstatic($a, $b) {
|
|
print "callstatic\n";
|
|
}
|
|
|
|
public function __tostring() {
|
|
return 'foo';
|
|
}
|
|
}
|
|
|
|
|
|
$a = new foo;
|
|
|
|
$a->sdfdsa();
|
|
|
|
$a::test();
|
|
|
|
clone $a;
|
|
|
|
var_dump((string)$a);
|
|
|
|
unset($a->a);
|
|
|
|
?>
|
|
--EXPECT--
|
|
call
|
|
string(6) "sdfdsa"
|
|
callstatic
|
|
clone
|
|
string(3) "foo"
|
|
unset
|
|
string(1) "a"
|