mirror of
https://github.com/php/php-src.git
synced 2024-12-18 06:21:41 +08:00
a555cc0b3d
Remove most of the `===DONE===` tags and its variations. Keep `===DONE===` if the test output otherwise becomes empty. Closes GH-4872.
46 lines
648 B
PHP
46 lines
648 B
PHP
--TEST--
|
|
Bug #32252 (Segfault when offsetSet throws an Exception (only without debug))
|
|
--FILE--
|
|
<?php
|
|
|
|
class Test implements ArrayAccess
|
|
{
|
|
function offsetExists($offset)
|
|
{
|
|
echo __METHOD__ . "($offset)\n";
|
|
return false;
|
|
}
|
|
|
|
function offsetGet($offset)
|
|
{
|
|
echo __METHOD__ . "($offset)\n";
|
|
return null;
|
|
}
|
|
|
|
function offsetSet($offset, $value)
|
|
{
|
|
echo __METHOD__ . "($offset, $value)\n";
|
|
throw new Exception("Ooops");
|
|
}
|
|
|
|
function offsetUnset($offset)
|
|
{
|
|
echo __METHOD__ . "($offset)\n";
|
|
}
|
|
}
|
|
|
|
$list = new Test();
|
|
try
|
|
{
|
|
$list[-1] = 123;
|
|
}
|
|
catch (Exception $e)
|
|
{
|
|
echo "CAUGHT\n";
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
Test::offsetSet(-1, 123)
|
|
CAUGHT
|