summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2003-12-19 11:22:13 +0000
committerDmitry Stogov <dmitry@php.net>2003-12-19 11:22:13 +0000
commit25a811da6545aaa26ecc6e07b29e6b94a783171d (patch)
treee88435ea4f829768589b6a4054278aac6d674c0f /tests
parente515b246cb393c177eac20c6fddbea5364068e80 (diff)
downloadphp-git-25a811da6545aaa26ecc6e07b29e6b94a783171d.tar.gz
Assign_op operators (+=) were fixed for elements of overloaded objects
Diffstat (limited to 'tests')
-rw-r--r--tests/classes/array_access_006.phpt37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/classes/array_access_006.phpt b/tests/classes/array_access_006.phpt
new file mode 100644
index 0000000000..342a7e5107
--- /dev/null
+++ b/tests/classes/array_access_006.phpt
@@ -0,0 +1,37 @@
+--TEST--
+ZE2 ArrayAccess and ASSIGN_OP operators (+=)
+--FILE--
+<?php
+
+class OverloadedArray implements ArrayAccess {
+ public $realArray;
+
+ function __construct() {
+ $this->realArray = array(1,2,3);
+ }
+
+ function offsetExists($index) {
+ return array_key_exists($this->realArray, $index);
+ }
+
+ function offsetGet($index) {
+ return $this->realArray[$index];
+ }
+
+ function offsetSet($index, $value) {
+ $this->realArray[$index] = $value;
+ }
+
+ function offsetUnset($index) {
+ unset($this->realArray[$index]);
+ }
+}
+
+$a = new OverloadedArray;
+$a[1] += 10;
+var_dump($a[1]);
+echo "---Done---\n";
+?>
+--EXPECT--
+int(12)
+---Done---