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 /Zend/tests/method_static_var.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 'Zend/tests/method_static_var.phpt')
-rw-r--r-- | Zend/tests/method_static_var.phpt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Zend/tests/method_static_var.phpt b/Zend/tests/method_static_var.phpt new file mode 100644 index 0000000..c5e82fe --- /dev/null +++ b/Zend/tests/method_static_var.phpt @@ -0,0 +1,30 @@ +--TEST-- +Initial value of static var in method depends on the include time of the class definition +--XFAIL-- +Maybe not a bug +--FILE-- +<?php +class Foo { + public function __construct() { + eval("class Bar extends Foo {}"); + } + public static function test() { + static $i = 0; + var_dump(++$i); + } +} + +foo::test(); +new Foo; +foo::test(); + +/** + * function_add_ref() makes a clone of static variables for inherited functions, so $i in Bar::test gets initial value 1 + */ +Bar::test(); +Bar::test(); +--EXPECT-- +int(1) +int(2) +int(1) +int(2) |