summaryrefslogtreecommitdiff
path: root/tests/classes/array_access_011.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/array_access_011.phpt')
-rwxr-xr-xtests/classes/array_access_011.phpt187
1 files changed, 0 insertions, 187 deletions
diff --git a/tests/classes/array_access_011.phpt b/tests/classes/array_access_011.phpt
deleted file mode 100755
index 20d39568ba..0000000000
--- a/tests/classes/array_access_011.phpt
+++ /dev/null
@@ -1,187 +0,0 @@
---TEST--
-ZE2 ArrayAccess and ArrayAccessReferenceProxy with references to main array
---FILE--
-<?php
-
-// NOTE: This will become part of SPL
-
-class ArrayAccessReferenceProxy implements ArrayAccess
-{
- private $object;
- private $oarray;
- private $element;
-
- function __construct(ArrayAccess $object, array &$array, $element)
- {
- echo __METHOD__ . "($element)\n";
- $this->object = $object;
- $this->oarray = &$array;
- $this->element = $element;
- }
-
- function offsetExists($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- return array_key_exists($index, $this->oarray[$this->element]);
- }
-
- function offsetGet($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- return isset($this->oarray[$this->element][$index]) ? $this->oarray[$this->element][$index] : NULL;
- }
-
- function offsetSet($index, $value) {
- echo __METHOD__ . "($this->element, $index, $value)\n";
- $this->oarray[$this->element][$index] = $value;
- }
-
- function offsetUnset($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- unset($this->oarray[$this->element][$index]);
- }
-}
-
-class Peoples implements ArrayAccess
-{
- public $person;
-
- function __construct()
- {
- $this->person = array(array('name'=>'Foo'));
- }
-
- function offsetExists($index)
- {
- return array_key_exists($index, $this->person);
- }
-
- function offsetGet($index)
- {
- if (is_array($this->person[$index]))
- {
- return new ArrayAccessReferenceProxy($this, $this->person, $index);
- }
- else
- {
- return $this->person[$index];
- }
- }
-
- function offsetSet($index, $value)
- {
- $this->person[$index] = $value;
- }
-
- function offsetUnset($index)
- {
- unset($this->person[$index]);
- }
-}
-
-$people = new Peoples;
-
-var_dump($people->person[0]['name']);
-$people->person[0]['name'] = $people->person[0]['name'] . 'Bar';
-var_dump($people->person[0]['name']);
-$people->person[0]['name'] .= 'Baz';
-var_dump($people->person[0]['name']);
-
-echo "===ArrayOverloading===\n";
-
-$people = new Peoples;
-
-var_dump($people[0]);
-var_dump($people[0]['name']);
-$people[0]['name'] = 'FooBar';
-var_dump($people[0]['name']);
-$people[0]['name'] = $people->person[0]['name'] . 'Bar';
-var_dump($people[0]['name']);
-$people[0]['name'] .= 'Baz';
-var_dump($people[0]['name']);
-unset($people[0]['name']);
-var_dump($people[0]);
-var_dump($people[0]['name']);
-$people[0]['name'] = 'BlaBla';
-var_dump($people[0]['name']);
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-string(3) "Foo"
-string(6) "FooBar"
-string(9) "FooBarBaz"
-===ArrayOverloading===
-ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
- ["object:private"]=>
- object(Peoples)#2 (1) {
- ["person"]=>
- &array(1) {
- [0]=>
- array(1) {
- ["name"]=>
- string(3) "Foo"
- }
- }
- }
- ["oarray:private"]=>
- &array(1) {
- [0]=>
- array(1) {
- ["name"]=>
- string(3) "Foo"
- }
- }
- ["element:private"]=>
- int(0)
-}
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-string(3) "Foo"
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetSet(0, name, FooBar)
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-string(6) "FooBar"
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetSet(0, name, FooBarBar)
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-string(9) "FooBarBar"
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-ArrayAccessReferenceProxy::offsetSet(0, name, FooBarBarBaz)
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-string(12) "FooBarBarBaz"
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetUnset(0, name)
-ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
- ["object:private"]=>
- object(Peoples)#2 (1) {
- ["person"]=>
- &array(1) {
- [0]=>
- array(0) {
- }
- }
- }
- ["oarray:private"]=>
- &array(1) {
- [0]=>
- array(0) {
- }
- }
- ["element:private"]=>
- int(0)
-}
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-NULL
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetSet(0, name, BlaBla)
-ArrayAccessReferenceProxy::__construct(0)
-ArrayAccessReferenceProxy::offsetGet(0, name)
-string(6) "BlaBla"
-===DONE===