summaryrefslogtreecommitdiff
path: root/tests/classes/array_access_010.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/array_access_010.phpt')
-rwxr-xr-xtests/classes/array_access_010.phpt168
1 files changed, 0 insertions, 168 deletions
diff --git a/tests/classes/array_access_010.phpt b/tests/classes/array_access_010.phpt
deleted file mode 100755
index 05a169b2f0..0000000000
--- a/tests/classes/array_access_010.phpt
+++ /dev/null
@@ -1,168 +0,0 @@
---TEST--
-ZE2 ArrayAccess and ArrayReferenceProxy with references
---FILE--
-<?php
-
-// NOTE: This will become part of SPL
-
-class ArrayReferenceProxy implements ArrayAccess
-{
- private $object;
- private $element;
-
- function __construct(ArrayAccess $object, array &$element)
- {
- echo __METHOD__ . "($element)\n";
- $this->object = $object;
- $this->element = &$element;
- }
-
- function offsetExists($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- return array_key_exists($index, $this->element);
- }
-
- function offsetGet($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- return isset($this->element[$index]) ? $this->element[$index] : NULL;
- }
-
- function offsetSet($index, $value) {
- echo __METHOD__ . "($this->element, $index, $value)\n";
- $this->element[$index] = $value;
- }
-
- function offsetUnset($index) {
- echo __METHOD__ . "($this->element, $index)\n";
- unset($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)
- {
- return new ArrayReferenceProxy($this, $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===
-ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
- ["object:private"]=>
- object(Peoples)#2 (1) {
- ["person"]=>
- array(1) {
- [0]=>
- &array(1) {
- ["name"]=>
- string(3) "Foo"
- }
- }
- }
- ["element:private"]=>
- &array(1) {
- ["name"]=>
- string(3) "Foo"
- }
-}
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-string(3) "Foo"
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetSet(Array, name, FooBar)
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-string(6) "FooBar"
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetSet(Array, name, FooBarBar)
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-string(9) "FooBarBar"
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-ArrayReferenceProxy::offsetSet(Array, name, FooBarBarBaz)
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-string(12) "FooBarBarBaz"
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetUnset(Array, name)
-ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
- ["object:private"]=>
- object(Peoples)#2 (1) {
- ["person"]=>
- array(1) {
- [0]=>
- &array(0) {
- }
- }
- }
- ["element:private"]=>
- &array(0) {
- }
-}
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-NULL
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetSet(Array, name, BlaBla)
-ArrayReferenceProxy::__construct(Array)
-ArrayReferenceProxy::offsetGet(Array, name)
-string(6) "BlaBla"
-===DONE===