com php-src: add another test to #1022: ext/standard/tests/stri ngs/str_replace_array_refs2.phpt
| From: | Xinchen Hui | 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"