mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
- Add test to verify all ArrayAccess methods can throw
This commit is contained in:
parent
b8eb8bc7d5
commit
bf75124011
1 changed files with 58 additions and 0 deletions
58
tests/classes/array_access_013.phpt
Executable file
58
tests/classes/array_access_013.phpt
Executable file
|
@ -0,0 +1,58 @@
|
|||
--TEST--
|
||||
ZE2 arrayAcces & exceptions
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Test implements ArrayAccess
|
||||
{
|
||||
public function offsetExists($offset) { throw new Exception(__METHOD__); return false; }
|
||||
public function offsetGet($offset) { throw new Exception(__METHOD__); return $offset; }
|
||||
public function offsetSet($offset, $data ) { throw new Exception(__METHOD__); }
|
||||
public function offsetUnset($offset) { throw new Exception(__METHOD__); }
|
||||
}
|
||||
|
||||
$t = new Test;
|
||||
|
||||
try
|
||||
{
|
||||
echo isset($t[0]);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo "Caught in " . $e->getMessage() . "()\n";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
echo $t[0];
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo "Caught in " . $e->getMessage() . "()\n";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$t[0] = 1;
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo "Caught in " . $e->getMessage() . "()\n";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
unset($t[0]);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo "Caught in " . $e->getMessage() . "()\n";
|
||||
}
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
Caught in Test::offsetExists()
|
||||
Caught in Test::offsetGet()
|
||||
Caught in Test::offsetSet()
|
||||
Caught in Test::offsetUnset()
|
||||
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue