mirror of
https://github.com/php/php-src.git
synced 2024-09-23 19:07:26 +00:00
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
|
--TEST--
|
||
|
Bug #76502: Chain of mixed exceptions and errors does not serialize properly
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
$examples = [
|
||
|
"Exception(Exception())" => new Exception("outer", 0, new Exception("inner")),
|
||
|
"Error(Error())" => new Error("outer", 0, new Error("inner")),
|
||
|
"Error(Exception())" => new Error("outer", 0, new Exception("inner")),
|
||
|
"Exception(Error())" => new Exception("outer", 0, new Error("inner"))
|
||
|
];
|
||
|
|
||
|
foreach ($examples as $name => $example) {
|
||
|
$processed = unserialize(serialize($example));
|
||
|
$processedPrev = $processed->getPrevious();
|
||
|
echo "---- $name ----\n";
|
||
|
echo "before: ", get_class($example), ".previous == ",
|
||
|
get_class($example->getPrevious()), "\n";
|
||
|
echo "after : ", get_class($processed), ".previous == ",
|
||
|
$processedPrev ? get_class($processedPrev) : "null", "\n";
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
--EXPECT--
|
||
|
---- Exception(Exception()) ----
|
||
|
before: Exception.previous == Exception
|
||
|
after : Exception.previous == Exception
|
||
|
---- Error(Error()) ----
|
||
|
before: Error.previous == Error
|
||
|
after : Error.previous == Error
|
||
|
---- Error(Exception()) ----
|
||
|
before: Error.previous == Exception
|
||
|
after : Error.previous == Exception
|
||
|
---- Exception(Error()) ----
|
||
|
before: Exception.previous == Error
|
||
|
after : Exception.previous == Error
|