com php-src: add another test to #1022: ext/standard/tests/stri ngs/str_replace_array_refs2.phpt

From: Date: Tue, 27 Jan 2015 10:16:22 +0000
Subject: com php-src: add another test to #1022: ext/standard/tests/stri ngs/str_replace_array_refs2.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-84388@lists.php.net to get a copy of this message
Commit: 927ebc978907c54baa9db0cbe6d8bfacb763c456 Author: Márcio Almada <marcio3w@gmail.com> Sat, 24 Jan 2015 01:50:59 -0300 Parents: f869bf3829c6b2c94011747c69ed8f32412c9e03 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=927ebc978907c54baa9db0cbe6d8bfacb763c456 Log: add another test to #1022 Bugs: https://bugs.php.net/1022 Changed paths: A ext/standard/tests/strings/str_replace_array_refs2.phpt Diff: diff --git a/ext/standard/tests/strings/str_replace_array_refs2.phpt b/ext/standard/tests/strings/str_replace_array_refs2.phpt new file mode 100644 index 0000000..788c738 --- /dev/null +++ b/ext/standard/tests/strings/str_replace_array_refs2.phpt @@ -0,0 +1,27 @@ +--TEST-- +Test str_replace() function and array refs, more cases +--FILE-- +<?php +$closure = function (array $array, array $keys, $value) +{ + $current = &$array; + foreach ($keys as $key) + $current = &$current[$key]; + $current = $value; + return $array; +}; + +class SomeClass { public $prop; } + +$obj = new SomeClass; +$obj->prop = ['x' => 'property']; +$obj->prop = $closure($obj->prop, ['x'], 'a'); +var_dump(str_replace(array_keys($obj->prop), $obj->prop, "x property")); + +$array = ['x' => 'property']; +$array = $closure($array, ['x'], 'a'); +var_dump(str_replace(array_keys($array), $array, "x property")); + +--EXPECTF-- +string(10) "a property" +string(10) "a property"

« previous php.cvs (#84388) next »