Browse Source

- Fix/add tests

experimental/first_unicode_implementation
Marcus Boerger 18 years ago
parent
commit
33adcdf0cc
  1. 36
      Zend/tests/exception_007.phpt
  2. 36
      Zend/tests/exception_008.phpt
  3. 12
      Zend/tests/gc_030.phpt

36
Zend/tests/exception_007.phpt

@ -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

36
Zend/tests/exception_008.phpt

@ -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

12
Zend/tests/gc_030.phpt

@ -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
Loading…
Cancel
Save