Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fix Set::merge() failing to merge correctly.

When merging 3 values, and the 2nd was empty, the resulting
merge was incorrect.

Fixes #3384
  • Loading branch information...
commit 6b4afb989e4257d47e022377297c0e453d49ddec 1 parent 4ebe754
@markstory markstory authored
View
3  lib/Cake/Test/Case/Utility/SetTest.php
@@ -152,6 +152,9 @@ public function testMerge() {
$r = Set::merge('foo', 'bar');
$this->assertEquals(array('foo', 'bar'), $r);
+ $r = Set::merge(array('foo'), array(), array('bar'));
+ $this->assertEquals(array('foo', 'bar'), $r);
+
$r = Set::merge('foo', array('user' => 'bob', 'no-bar'), 'bar');
$this->assertEquals(array('foo', 'user' => 'bob', 'no-bar', 'bar'), $r);
View
2  lib/Cake/Utility/Set.php
@@ -45,7 +45,7 @@ class Set {
*/
public static function merge($data, $merge = null) {
$args = func_get_args();
- if (empty($args[1])) {
+ if (empty($args[1]) && count($args) <= 2) {
return (array)$args[0];
}
if (!is_array($args[0])) {
Please sign in to comment.
Something went wrong with that request. Please try again.