]> granicus.if.org Git - php/commitdiff
- Fix/add tests
authorMarcus Boerger <helly@php.net>
Sun, 13 Jul 2008 21:37:27 +0000 (21:37 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 13 Jul 2008 21:37:27 +0000 (21:37 +0000)
Zend/tests/exception_007.phpt [new file with mode: 0755]
Zend/tests/exception_008.phpt [new file with mode: 0755]
Zend/tests/gc_030.phpt

diff --git a/Zend/tests/exception_007.phpt b/Zend/tests/exception_007.phpt
new file mode 100755 (executable)
index 0000000..953e765
--- /dev/null
@@ -0,0 +1,36 @@
+--TEST--
+Setting previous exception
+--FILE--
+<?php
+
+try {
+       try {
+               throw new Exception("First", 1, new Exception("Another", 0, NULL));
+       }
+       catch (Exception $e) {
+               throw new Exception("Second", 2, $e);
+       }
+}
+catch (Exception $e) {
+       throw new Exception("Third", 3, $e);
+}
+
+?>
+===DONE===
+--EXPECTF--
+Fatal error: Uncaught exception 'Exception' with message 'Another' in %sexception_007.php:%d
+Stack trace:
+#0 {main}
+
+Next exception 'Exception' with message 'First' in %sexception_007.php:%d
+Stack trace:
+#0 {main}
+
+Next exception 'Exception' with message 'Second' in %sexception_007.php:%d
+Stack trace:
+#0 {main}
+
+Next exception 'Exception' with message 'Third' in %sexception_007.php:%d
+Stack trace:
+#0 {main}
+  thrown in %sexception_007.php on line %d
diff --git a/Zend/tests/exception_008.phpt b/Zend/tests/exception_008.phpt
new file mode 100755 (executable)
index 0000000..0d40541
--- /dev/null
@@ -0,0 +1,36 @@
+--TEST--
+Exception in __destruct while exception is pending
+--FILE--
+<?php
+
+class TestFirst
+{
+       function __destruct() {
+               throw new Exception("First");
+       }
+}
+
+class TestSecond
+{
+       function __destruct() {
+               throw new Exception("Second");          
+       }
+}
+
+$ar = array(new TestFirst, new TestSecond);
+
+unset($ar);
+
+?>
+===DONE===
+--EXPECTF--
+Fatal error: Uncaught exception 'Exception' with message 'First' in %sexception_008.php:%d
+Stack trace:
+#0 %sexception_008.php(%d): TestFirst->__destruct()
+#1 {main}
+
+Next exception 'Exception' with message 'Second' in %sexception_008.php:%d
+Stack trace:
+#0 %sexception_008.php(%d): TestSecond->__destruct()
+#1 {main}
+  thrown in %sexception_008.php on line %d
index 2c5e197bf8e2dfc10e3bbec29ce5daf7fbc49e86..4d051d2c8848515ea2e92039eababcf72f9a5794 100644 (file)
@@ -18,4 +18,14 @@ unset($f1, $f2);
 gc_collect_cycles();
 ?>
 --EXPECTF--
-Fatal error: Ignoring exception from foo::__destruct() while an exception is already active (Uncaught Exception in %sgc_030.php on line %d) in %sgc_030.php on line %d
+Fatal error: Uncaught exception 'Exception' with message 'foobar' in %sgc_030.php:%d
+Stack trace:
+#0 [internal function]: foo->__destruct()
+#1 %sgc_030.php(%d): gc_collect_cycles()
+#2 {main}
+
+Next exception 'Exception' with message 'foobar' in %sgc_030.php:%d
+Stack trace:
+#0 %sgc_030.php(%d): foo->__destruct()
+#1 {main}
+  thrown in %sgc_030.php on line %d