]> granicus.if.org Git - php/commitdiff
Don't xfail method_static_var.phpt
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 4 Nov 2020 11:30:41 +0000 (12:30 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 4 Nov 2020 11:30:41 +0000 (12:30 +0100)
Let's test the current behavior here. It might not be right, but
it's long-standing behavior.

Nearly missed an assertion failure here because the test was
XFAILed...

Zend/tests/method_static_var.phpt

index b419647517d12c80a7398214bcb6a7a1765f639c..06574732d75609848d6612cd6bc34cfec932f010 100644 (file)
@@ -1,31 +1,26 @@
 --TEST--
 Initial value of static var in method depends on the include time of the class definition
---XFAIL--
-Maybe not a bug
 --FILE--
 <?php
+
+/* The current behavior is probably a bug, but we should still test how it currently works. */
+
 class Foo {
- public function __construct() {
-  eval("class Bar extends Foo {}");
- }
- public static function test() {
-  static $i = 0;
-  var_dump(++$i);
- }
+    public static function test() {
+        static $i = 0;
+        var_dump(++$i);
+    }
 }
 
-foo::test();
-new Foo;
-foo::test();
+Foo::test();
+eval("class Bar extends 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)
+int(3)