Annotation of embedaddon/php/ext/spl/tests/fixedarray_002.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: FixedArray: overloading
! 3: --INI--
! 4: allow_call_time_pass_reference=1
! 5: --FILE--
! 6: <?php
! 7: class A extends SplFixedArray {
! 8: public function count() {
! 9: return 2;
! 10: }
! 11:
! 12: public function offsetGet($n) {
! 13: echo "A::offsetGet\n";
! 14: return parent::offsetGet($n);
! 15: }
! 16: public function offsetSet($n, $v) {
! 17: echo "A::offsetSet\n";
! 18: return parent::offsetSet($n, $v);
! 19: }
! 20: public function offsetUnset($n) {
! 21: echo "A::offsetUnset\n";
! 22: return parent::offsetUnset($n);
! 23: }
! 24: public function offsetExists($n) {
! 25: echo "A::offsetExists\n";
! 26: return parent::offsetExists($n);
! 27: }
! 28: }
! 29:
! 30: $a = new A;
! 31:
! 32: // errors
! 33: try {
! 34: $a[0] = "value1";
! 35: } catch (RuntimeException $e) {
! 36: echo "Exception: ".$e->getMessage()."\n";
! 37: }
! 38: try {
! 39: var_dump($a["asdf"]);
! 40: } catch (RuntimeException $e) {
! 41: echo "Exception: ".$e->getMessage()."\n";
! 42: }
! 43: try {
! 44: unset($a[-1]);
! 45: } catch (RuntimeException $e) {
! 46: echo "Exception: ".$e->getMessage()."\n";
! 47: }
! 48: $a->setSize(10);
! 49:
! 50:
! 51: $a[0] = "value0";
! 52: $a[1] = "value1";
! 53: $a[2] = "value2";
! 54: $a[3] = "value3";
! 55: $ref = "value4";
! 56: $ref2 =&$ref;
! 57: $a[4] = $ref;
! 58: $ref = "value5";
! 59:
! 60: unset($a[1]);
! 61: var_dump(isset($a[1]), isset($a[2]), empty($a[1]), empty($a[2]));
! 62:
! 63: var_dump($a[0], $a[2], $a[3], $a[4]);
! 64:
! 65: // countable
! 66:
! 67: var_dump(count($a), $a->getSize(), count($a) == $a->getSize());
! 68: ?>
! 69: ===DONE===
! 70: --EXPECTF--
! 71: A::offsetSet
! 72: Exception: Index invalid or out of range
! 73: A::offsetGet
! 74: Exception: Index invalid or out of range
! 75: A::offsetUnset
! 76: Exception: Index invalid or out of range
! 77: A::offsetSet
! 78: A::offsetSet
! 79: A::offsetSet
! 80: A::offsetSet
! 81: A::offsetSet
! 82: A::offsetUnset
! 83: A::offsetExists
! 84: A::offsetExists
! 85: A::offsetExists
! 86: A::offsetExists
! 87: bool(false)
! 88: bool(true)
! 89: bool(true)
! 90: bool(false)
! 91: A::offsetGet
! 92: A::offsetGet
! 93: A::offsetGet
! 94: A::offsetGet
! 95: string(6) "value0"
! 96: string(6) "value2"
! 97: string(6) "value3"
! 98: string(6) "value4"
! 99: int(2)
! 100: int(10)
! 101: bool(false)
! 102: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>