mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
- Add new test
This commit is contained in:
parent
5a94bb642f
commit
b4a961a234
47
Zend/tests/bug32252.phpt
Executable file
47
Zend/tests/bug32252.phpt
Executable file
@ -0,0 +1,47 @@
|
||||
--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";
|
||||
}
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
Test::offsetSet(-1, 123)
|
||||
CAUGHT
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user