mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-31 09:06:17 +00:00
Merge pull request #3906 from ravage84/hash-nest-exception
Hash::nest() should throw an exception instead of returning an empty arr...
This commit is contained in:
commit
d62d6061b2
2 changed files with 10 additions and 5 deletions
|
@ -2277,8 +2277,9 @@ class HashTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that nest() returns an empty array for invalid input instead of throwing notices.
|
* Tests that nest() throws an InvalidArgumentException when providing an invalid input.
|
||||||
*
|
*
|
||||||
|
* @expectedException InvalidArgumentException
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testNestInvalid() {
|
public function testNestInvalid() {
|
||||||
|
@ -2291,8 +2292,7 @@ class HashTest extends CakeTestCase {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$result = Hash::nest($input);
|
Hash::nest($input);
|
||||||
$this->assertSame(array(), $result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1006,6 +1006,7 @@ class Hash {
|
||||||
* @param array $options Options are:
|
* @param array $options Options are:
|
||||||
* @return array of results, nested
|
* @return array of results, nested
|
||||||
* @see Hash::extract()
|
* @see Hash::extract()
|
||||||
|
* @throws InvalidArgumentException When providing invalid data.
|
||||||
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/hash.html#Hash::nest
|
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/hash.html#Hash::nest
|
||||||
*/
|
*/
|
||||||
public static function nest(array $data, $options = array()) {
|
public static function nest(array $data, $options = array()) {
|
||||||
|
@ -1048,10 +1049,14 @@ class Hash {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$return) {
|
||||||
|
throw new InvalidArgumentException(__d('cake_dev',
|
||||||
|
'Invalid data array to nest.'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
if ($options['root']) {
|
if ($options['root']) {
|
||||||
$root = $options['root'];
|
$root = $options['root'];
|
||||||
} elseif (!$return) {
|
|
||||||
return array();
|
|
||||||
} else {
|
} else {
|
||||||
$root = self::get($return[0], $parentKeys);
|
$root = self::get($return[0], $parentKeys);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue