diff options
Diffstat (limited to 'Zend/tests/closure_016.phpt')
-rw-r--r-- | Zend/tests/closure_016.phpt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Zend/tests/closure_016.phpt b/Zend/tests/closure_016.phpt new file mode 100644 index 0000000..ae00365 --- /dev/null +++ b/Zend/tests/closure_016.phpt @@ -0,0 +1,51 @@ +--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($test, true, $name)); +echo $name."\n"; +var_dump(is_callable($test, false, $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($test, true, $name)); +echo $name."\n"; +var_dump(is_callable($test, false, $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 |