laruence                                 Mon, 05 Dec 2011 12:44:12 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=320428

Log:
Add xfaild test for a secluded issue

Changed paths:
    A   php/php-src/branches/PHP_5_4/Zend/tests/method_static_var.phpt
    A   php/php-src/trunk/Zend/tests/method_static_var.phpt

Added: php/php-src/branches/PHP_5_4/Zend/tests/method_static_var.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/tests/method_static_var.phpt              
                (rev 0)
+++ php/php-src/branches/PHP_5_4/Zend/tests/method_static_var.phpt      
2011-12-05 12:44:12 UTC (rev 320428)
@@ -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)

Added: php/php-src/trunk/Zend/tests/method_static_var.phpt
===================================================================
--- php/php-src/trunk/Zend/tests/method_static_var.phpt                         
(rev 0)
+++ php/php-src/trunk/Zend/tests/method_static_var.phpt 2011-12-05 12:44:12 UTC 
(rev 320428)
@@ -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)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to