diff options
author | Marcus Boerger <helly@php.net> | 2005-07-19 20:10:37 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2005-07-19 20:10:37 +0000 |
commit | bf75124011de86b6d01c0a888eade9dea8e54cf5 (patch) | |
tree | 365aff022bb964c7c99f64a01377a19cabec56d5 | |
parent | b8eb8bc7d5c01dc5dff34c2f0194c0355042a1f8 (diff) | |
download | php-git-bf75124011de86b6d01c0a888eade9dea8e54cf5.tar.gz |
- Add test to verify all ArrayAccess methods can throw
-rwxr-xr-x | tests/classes/array_access_013.phpt | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/classes/array_access_013.phpt b/tests/classes/array_access_013.phpt new file mode 100755 index 0000000000..c3dee3f5cb --- /dev/null +++ b/tests/classes/array_access_013.phpt @@ -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=== |