summaryrefslogtreecommitdiff
path: root/ext/spl/tests
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2005-03-03 10:35:34 +0000
committerMarcus Boerger <helly@php.net>2005-03-03 10:35:34 +0000
commit7cca51e97e084a98a1f8fc6c647af3738c917dc1 (patch)
tree48e640257d07abbf63b3f4681464c8b4f20adf63 /ext/spl/tests
parentbaf717472e1f9942f3d5ceb15dbeef63db3d2353 (diff)
downloadphp-git-7cca51e97e084a98a1f8fc6c647af3738c917dc1.tar.gz
- Fix bug #32134
Diffstat (limited to 'ext/spl/tests')
-rwxr-xr-xext/spl/tests/bug32134.phpt48
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===