diff options
Diffstat (limited to 'tests/classes')
-rw-r--r-- | tests/classes/array_access_003.phpt | 9 | ||||
-rwxr-xr-x | tests/classes/array_access_005.phpt | 28 | ||||
-rwxr-xr-x | tests/classes/array_access_008.phpt | 11 |
3 files changed, 30 insertions, 18 deletions
diff --git a/tests/classes/array_access_003.phpt b/tests/classes/array_access_003.phpt index bed09b89e5..2d42665fc6 100644 --- a/tests/classes/array_access_003.phpt +++ b/tests/classes/array_access_003.phpt @@ -12,7 +12,7 @@ class object implements ArrayAccess { echo __METHOD__ . "($index)\n"; return array_key_exists($index, $this->a); } - function &offsetGet($index) { + function offsetGet($index) { echo __METHOD__ . "($index)\n"; switch($index) { case 1: @@ -48,12 +48,9 @@ var_dump($obj[2]); ===DONE=== --EXPECTF-- object::offsetGet(1) - -Strict Standards: Only variable references should be returned by reference in %sarray_access_003.php on line %d string(6) "fooBar" object::offsetGet(2) int(1) object::offsetGet(2) -object::offsetGet(2) -int(2) -===DONE=== + +Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference in %sarray_access_003.php on line %d diff --git a/tests/classes/array_access_005.phpt b/tests/classes/array_access_005.phpt index 5c6271d257..f248f2172c 100755 --- a/tests/classes/array_access_005.phpt +++ b/tests/classes/array_access_005.phpt @@ -14,7 +14,7 @@ class Peoples implements ArrayAccess { return array_key_exists($this->person, $index); } - function &offsetGet($index) { + function offsetGet($index) { return $this->person[$index]; } @@ -39,20 +39,34 @@ echo "---ArrayOverloading---\n"; $people = new Peoples; +var_dump($people[0]); var_dump($people[0]['name']); -$people[0]['name'] = $people->person[0]['name'] . 'Foo'; +var_dump($people->person[0]['name'] . 'Foo'); // impossible to assign this since we don't return references here +$x = $people[0]; // creates a copy +$x['name'] .= 'Foo'; +$people[0] = $x; +var_dump($people[0]); +$people[0]['name'] = 'JoeFoo'; var_dump($people[0]['name']); -$people[0]['name'] .= 'Bar'; +$people[0]['name'] = 'JoeFooBar'; var_dump($people[0]['name']); -echo "---Done---\n"; ?> ---EXPECT-- +===DONE=== +--EXPECTF-- string(3) "Joe" string(6) "JoeFoo" string(9) "JoeFooBar" ---ArrayOverloading--- +array(1) { + ["name"]=> + string(3) "Joe" +} string(3) "Joe" string(6) "JoeFoo" -string(9) "JoeFooBar" ----Done--- +array(1) { + ["name"]=> + string(6) "JoeFoo" +} + +Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference in %sarray_access_005.php on line %d diff --git a/tests/classes/array_access_008.phpt b/tests/classes/array_access_008.phpt index 84ecf08ba8..0130388245 100755 --- a/tests/classes/array_access_008.phpt +++ b/tests/classes/array_access_008.phpt @@ -14,7 +14,7 @@ class Peoples implements ArrayAccess { return array_key_exists($this->person, $index); } - function & offsetGet($index) { + function offsetGet($index) { return $this->person[$index]; } @@ -40,6 +40,8 @@ echo "===ArrayOverloading===\n"; $people = new Peoples; 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'; @@ -47,12 +49,11 @@ var_dump($people[0]['name']); ?> ===DONE=== ---EXPECT-- +--EXPECTF-- string(3) "Foo" string(6) "FooBar" string(9) "FooBarBaz" ===ArrayOverloading=== string(3) "Foo" -string(6) "FooBar" -string(9) "FooBarBaz" -===DONE=== + +Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference in %sarray_access_008.php on line %d |