diff options
author | Marcus Boerger <helly@php.net> | 2005-03-03 10:35:34 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2005-03-03 10:35:34 +0000 |
commit | 7cca51e97e084a98a1f8fc6c647af3738c917dc1 (patch) | |
tree | 48e640257d07abbf63b3f4681464c8b4f20adf63 /ext/spl/tests | |
parent | baf717472e1f9942f3d5ceb15dbeef63db3d2353 (diff) | |
download | php-git-7cca51e97e084a98a1f8fc6c647af3738c917dc1.tar.gz |
- Fix bug #32134
Diffstat (limited to 'ext/spl/tests')
-rwxr-xr-x | ext/spl/tests/bug32134.phpt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ext/spl/tests/bug32134.phpt b/ext/spl/tests/bug32134.phpt new file mode 100755 index 0000000000..5a880b321d --- /dev/null +++ b/ext/spl/tests/bug32134.phpt @@ -0,0 +1,48 @@ +--TEST-- +Bug #32134 (Overloading offsetGet/offsetSet) +--FILE-- +<?php + +class myArray extends ArrayIterator +{ + + public function __construct($array = array()) + { + parent::__construct($array); + } + + public function offsetGet($index) + { + static $i = 0; + echo __METHOD__ . "($index)\n"; + if (++$i > 3) exit(1); + return parent::offsetGet($index); + } + + public function offsetSet($index, $newval) + { + echo __METHOD__ . "($index,$newval)\n"; + return parent::offsetSet($index, $newval); + } + +} + +$myArray = new myArray(); + +$myArray->offsetSet('one', 'one'); +var_dump($myArray->offsetGet('one')); + +$myArray['two'] = 'two'; +var_dump($myArray['two']); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECT-- +myArray::offsetSet(one,one) +myArray::offsetGet(one) +string(3) "one" +myArray::offsetSet(two,two) +myArray::offsetGet(two) +string(3) "two" +===DONE=== |