]> granicus.if.org Git - php/commitdiff
Added test for bug #30162 (it is already fixed but test file was forgotten)
authorDmitry Stogov <dmitry@php.net>
Fri, 10 Jun 2005 10:46:04 +0000 (10:46 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 10 Jun 2005 10:46:04 +0000 (10:46 +0000)
Zend/tests/bug30162.phpt [new file with mode: 0755]

diff --git a/Zend/tests/bug30162.phpt b/Zend/tests/bug30162.phpt
new file mode 100755 (executable)
index 0000000..ae11f8f
--- /dev/null
@@ -0,0 +1,52 @@
+--TEST--
+Bug #30162 (Catching exception in constructor couses lose of $this)
+--FILE--
+<?php
+class FIIFO {
+
+       public function __construct() {
+               $this->x = "x";
+               throw new Exception;
+       }
+
+}
+
+class hariCow extends FIIFO {
+
+       public function __construct() {
+               try {
+                       parent::__construct();
+               } catch(Exception $e) {
+               }
+               $this->y = "y";
+               try {
+                       $this->z = new FIIFO;
+               } catch(Exception $e) {
+               }
+       }
+       
+       public function __toString() {
+               return "Rusticus in asino sedet.";
+       }
+
+}
+
+try {
+       $db = new FIIFO();
+} catch(Exception $e) {
+}
+var_dump($db);
+
+$db = new hariCow;
+
+var_dump($db);
+?>
+--EXPECTF--
+Notice: Undefined variable: db in %sbug30162.php on line 35
+NULL
+object(hariCow)#1 (2) {
+  ["x"]=>
+  string(1) "x"
+  ["y"]=>
+  string(1) "y"
+}