diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/reflection/tests/006.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/reflection/tests/006.phpt')
-rw-r--r-- | ext/reflection/tests/006.phpt | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/ext/reflection/tests/006.phpt b/ext/reflection/tests/006.phpt new file mode 100644 index 0000000..89c4387 --- /dev/null +++ b/ext/reflection/tests/006.phpt @@ -0,0 +1,103 @@ +--TEST-- +ReflectionClass::[gs]etStaticPropertyValue +--FILE-- +<?php + +/* ReflectionClass cannot touch protected or private static properties */ + +/* ReflectionClass cannot create or delete static properties */ + +Class Test +{ + static public $pub = 'pub'; + static protected $pro = 'pro'; + static private $pri = 'pri'; + + static function testing() + { + $ref = new ReflectionClass('Test'); + + foreach(array('pub', 'pro', 'pri') as $name) + { + try + { + var_dump($ref->getStaticPropertyValue($name)); + var_dump($ref->getStaticPropertyValue($name)); + $ref->setStaticPropertyValue($name, 'updated'); + var_dump($ref->getStaticPropertyValue($name)); + } + catch(Exception $e) + { + echo "EXCEPTION\n"; + } + } + } +} + +Class TestDerived extends Test +{ +// static public $pub = 'pub'; +// static protected $pro = 'pro'; + static private $pri = 'pri'; + + static function testing() + { + $ref = new ReflectionClass('Test'); + + foreach(array('pub', 'pro', 'pri') as $name) + { + try + { + var_dump($ref->getStaticPropertyValue($name)); + var_dump($ref->getStaticPropertyValue($name)); + $ref->setStaticPropertyValue($name, 'updated'); + var_dump($ref->getStaticPropertyValue($name)); + } + catch(Exception $e) + { + echo "EXCEPTION\n"; + } + } + } +} + +$ref = new ReflectionClass('Test'); + +foreach(array('pub', 'pro', 'pri') as $name) +{ + try + { + var_dump($ref->getStaticPropertyValue($name)); + var_dump($ref->getStaticPropertyValue($name)); + $ref->setStaticPropertyValue($name, 'updated'); + var_dump($ref->getStaticPropertyValue($name)); + } + catch(Exception $e) + { + echo "EXCEPTION\n"; + } +} + +Test::testing(); +TestDerived::testing(); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECT-- +string(3) "pub" +string(3) "pub" +string(7) "updated" +EXCEPTION +EXCEPTION +string(7) "updated" +string(7) "updated" +string(7) "updated" +EXCEPTION +EXCEPTION +string(7) "updated" +string(7) "updated" +string(7) "updated" +EXCEPTION +EXCEPTION +===DONE=== |