]> granicus.if.org Git - php/commitdiff
Add xfaild test for a secluded issue
authorXinchen Hui <laruence@php.net>
Mon, 5 Dec 2011 12:44:12 +0000 (12:44 +0000)
committerXinchen Hui <laruence@php.net>
Mon, 5 Dec 2011 12:44:12 +0000 (12:44 +0000)
Zend/tests/method_static_var.phpt [new file with mode: 0644]

diff --git a/Zend/tests/method_static_var.phpt b/Zend/tests/method_static_var.phpt
new file mode 100644 (file)
index 0000000..b861779
--- /dev/null
@@ -0,0 +1,34 @@
+--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 {}");
+  Some::foo($this);
+ }
+ public static function test() {
+  static $i = 0;
+  var_dump(++$i);
+ }
+}
+class Some {
+ public static function foo(Foo $foo) {
+ }
+}
+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)