Permalink
Browse files

Hash::filter() should not exclude 0.0

Refs #10385
  • Loading branch information...
markstory committed Mar 10, 2017
1 parent 8d0e1fa commit e698891d09dc834d49626ba768ad4407fbb582d3
Showing with 16 additions and 3 deletions.
  1. +15 −2 lib/Cake/Test/Case/Utility/HashTest.php
  2. +1 −1 lib/Cake/Utility/Hash.php
@@ -655,8 +655,21 @@ public function testContains() {
* @return void
*/
public function testFilter() {
$result = Hash::filter(array('0', false, true, 0, array('one thing', 'I can tell you', 'is you got to be', false)));
$expected = array('0', 2 => true, 3 => 0, 4 => array('one thing', 'I can tell you', 'is you got to be'));
$result = Hash::filter(array(
'0',
false,
true,
0,
0.0,
array('one thing', 'I can tell you', 'is you got to be', false)
));
$expected = array(
'0',
2 => true,
3 => 0,
4 => 0.0,
5 => array('one thing', 'I can tell you', 'is you got to be')
);
$this->assertSame($expected, $result);
$result = Hash::filter(array(1, array(false)));
@@ -573,7 +573,7 @@ public static function filter(array $data, $callback = array('self', '_filter'))
* @return bool
*/
protected static function _filter($var) {
if ($var === 0 || $var === '0' || !empty($var)) {
if ($var === 0 || $var === 0.0 || $var === '0' || !empty($var)) {
return true;
}
return false;

0 comments on commit e698891

Please sign in to comment.