diff options
Diffstat (limited to 'ext/reflection/tests/ReflectionFunction_getClosureScopeClass.phpt')
-rw-r--r-- | ext/reflection/tests/ReflectionFunction_getClosureScopeClass.phpt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionFunction_getClosureScopeClass.phpt b/ext/reflection/tests/ReflectionFunction_getClosureScopeClass.phpt new file mode 100644 index 0000000..f725dfd --- /dev/null +++ b/ext/reflection/tests/ReflectionFunction_getClosureScopeClass.phpt @@ -0,0 +1,31 @@ +--TEST-- +Reflection::getClosureScopeClass() +--SKIPIF-- +<?php +if (!extension_loaded('reflection') || !defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50399) { + print 'skip'; +} +?> +--FILE-- +<?php +$closure = function($param) { return "this is a closure"; }; +$rf = new ReflectionFunction($closure); +var_dump($rf->getClosureScopeClass()); + +Class A { + public static function getClosure() { + return function($param) { return "this is a closure"; }; + } +} + +$closure = A::getClosure(); +$rf = new ReflectionFunction($closure); +var_dump($rf->getClosureScopeClass()); +echo "Done!\n"; +--EXPECTF-- +NULL +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "A" +} +Done! |