diff options
Diffstat (limited to 'ext/reflection/tests/ReflectionMethod_getStaticVariables_basic.phpt')
-rw-r--r-- | ext/reflection/tests/ReflectionMethod_getStaticVariables_basic.phpt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionMethod_getStaticVariables_basic.phpt b/ext/reflection/tests/ReflectionMethod_getStaticVariables_basic.phpt new file mode 100644 index 000000000..1a3d7c8ea --- /dev/null +++ b/ext/reflection/tests/ReflectionMethod_getStaticVariables_basic.phpt @@ -0,0 +1,65 @@ +--TEST-- +ReflectionMethod::getStaticVariables() +--SKIPIF-- +<?php extension_loaded('reflection') or die('skip'); ?> +--FILE-- +<?php + +class TestClass { + public function foo() { + static $c; + static $a = 1; + static $b = "hello"; + $d = 5; + } + + private function bar() { + static $a = 1; + } + + public function noStatics() { + $a = 54; + } +} + +echo "Public method:\n"; +$methodInfo = new ReflectionMethod('TestClass::foo'); +var_dump($methodInfo->getStaticVariables()); + +echo "\nPrivate method:\n"; +$methodInfo = new ReflectionMethod('TestClass::bar'); +var_dump($methodInfo->getStaticVariables()); + +echo "\nMethod with no static variables:\n"; +$methodInfo = new ReflectionMethod('TestClass::noStatics'); +var_dump($methodInfo->getStaticVariables()); + +echo "\nInternal Method:\n"; +$methodInfo = new ReflectionMethod('ReflectionClass::getName'); +var_dump($methodInfo->getStaticVariables()); + +?> +--EXPECT-- +Public method: +array(3) { + ["c"]=> + NULL + ["a"]=> + int(1) + ["b"]=> + string(5) "hello" +} + +Private method: +array(1) { + ["a"]=> + int(1) +} + +Method with no static variables: +array(0) { +} + +Internal Method: +array(0) { +}
\ No newline at end of file |