Annotation of embedaddon/php/tests/classes/array_access_012.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ZE2 ArrayAccess cannot assign by reference
3: --FILE--
4: <?php
5:
6: class ArrayAccessImpl implements ArrayAccess {
7: private $data = array();
8:
9: public function offsetUnset($index) {}
10:
11: public function offsetSet($index, $value) {
12: $this->data[$index] = $value;
13: }
14:
15: public function offsetGet($index) {
16: return $this->data[$index];
17: }
18:
19: public function offsetExists($index) {
20: return isset($this->data[$index]);
21: }
22: }
23:
24: $data = new ArrayAccessImpl();
25: $test = 'some data';
26: $data['element'] = NULL; // prevent notice
27: $data['element'] = &$test;
28:
29: ?>
30: ===DONE===
31: <?php exit(0); ?>
32: --EXPECTF--
33:
34: Notice: Indirect modification of overloaded element of ArrayAccessImpl has no effect in %sarray_access_012.php on line 24
35:
36: Fatal error: Cannot assign by reference to overloaded object in %sarray_access_012.php on line 24
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>