--TEST--
Closure 016: closures and is_callable()
--FILE--
<?php
class Foo {
    function 
__invoke() {
        echo 
"Hello World!\n";
    }
}

function 
foo() {
    return function() {
        echo 
"Hello World!\n";
    };
}
$test = new Foo;
var_dump(is_callable($testtrue$name));
echo 
$name."\n";
var_dump(is_callable($testfalse$name));
echo 
$name."\n";
var_dump(is_callable(array($test,"__invoke"), true$name));
echo 
$name."\n";
var_dump(is_callable(array($test,"__invoke"), false$name));
echo 
$name."\n";
$test foo();
var_dump(is_callable($testtrue$name));
echo 
$name."\n";
var_dump(is_callable($testfalse$name));
echo 
$name."\n";
var_dump(is_callable(array($test,"__invoke"), true$name));
echo 
$name."\n";
var_dump(is_callable(array($test,"__invoke"), false$name));
echo 
$name."\n";
?>
--EXPECT--
bool(true)
Foo::__invoke
bool(true)
Foo::__invoke
bool(true)
Foo::__invoke
bool(true)
Foo::__invoke
bool(true)
Closure::__invoke
bool(true)
Closure::__invoke
bool(true)
Closure::__invoke
bool(true)
Closure::__invoke