]> granicus.if.org Git - php/commitdiff
submit a test that will fail due to php bug #14744
authorTomas V.V.Cox <cox@php.net>
Fri, 11 Jan 2002 00:04:55 +0000 (00:04 +0000)
committerTomas V.V.Cox <cox@php.net>
Fri, 11 Jan 2002 00:04:55 +0000 (00:04 +0000)
pear/tests/pear1.phpt

index 07b737f5bcc3fbe97ce1c9a77782d8dbf4091135..067c7165fe49419f259e46c5d0ed2534b762fdc7 100644 (file)
@@ -8,26 +8,43 @@ require_once "PEAR.php";
 
 class TestPEAR extends PEAR {
     function TestPEAR($name) {
-       $this->_debug = true;
-       $this->name = $name;
-       $this->PEAR();
+        $this->_debug = true;
+        $this->name = $name;
+        $this->PEAR();
     }
     function _TestPEAR() {
-       print "This is the TestPEAR($this->name) destructor\n";
-       $this->_PEAR();
+        print "This is the TestPEAR($this->name) destructor\n";
+        $this->_PEAR();
     }
 }
 
 class Test2 extends PEAR {
     function _Test2() {
         print "This is the Test2 destructor\n";
-       $this->_PEAR();
+        $this->_PEAR();
     }
 }
 
 class Test3 extends Test2 {
 }
 
+// test for bug http://bugs.php.net/bug.php?id=14744
+class Other extends Pear {
+
+    var $a = 'default value';
+
+    function Other() {
+        $this->PEAR();
+    }
+
+    function _Other() {
+        // $a was modified but here misteriously returns to be
+        // the original value. That makes the destructor useless
+        // The correct value for $a in the destructor shoud be "new value"
+        echo "#bug 14744# Other class destructor: other->a == '" . $this->a ."'\n";
+    }
+}
+
 print "testing plain destructors\n";
 $o = new TestPEAR("test1");
 $p = new TestPEAR("test2");
@@ -35,6 +52,13 @@ print "..\n";
 print "testing inherited destructors\n";
 $q = new Test3;
 
+echo "...\ntesting bug #14744\n";
+$other = new Other;
+echo "#bug 14744# Other class constructor: other->a == '" . $other->a ."'\n";
+// Modify $a
+$other->a = 'new value';
+echo "#bug 14744# Other class modified: other->a == '" . $other->a ."'\n";
+
 print "..\n";
 print "script exiting...\n";
 print "..\n";
@@ -48,6 +72,10 @@ PEAR constructor called, class=testpear
 PEAR constructor called, class=testpear
 ..
 testing inherited destructors
+...
+testing bug #14744
+#bug 14744# Other class constructor: other->a == 'default value'
+#bug 14744# Other class modified: other->a == 'new value'
 ..
 script exiting...
 ..
@@ -56,3 +84,4 @@ PEAR destructor called, class=testpear
 This is the TestPEAR(test2) destructor
 PEAR destructor called, class=testpear
 This is the Test2 destructor
+#bug 14744# Other class destructor: other->a == 'new value'