fix: Updated set_null() function to be more useful #6030 (#6049)

* fix: Updated set_null() function to be more useful #6030

* drop isset

* Added unit test

* change to assertNull
This commit is contained in:
Neil Lathwood 2017-03-08 04:15:22 +00:00 committed by Tony Murray
parent b30161b80c
commit d00a2d6215
2 changed files with 16 additions and 3 deletions

View File

@ -1605,10 +1605,12 @@ function uw_to_dbm($value)
* @param int $min
* @return null
*/
function set_null($value, $default = null, $min = 0)
function set_null($value, $default = null, $min = null)
{
if (!isset($value) || !is_numeric($value) || (isset($min) && $value <= $min)) {
$value = $default;
if (!is_numeric($value)) {
return $default;
} elseif (isset($min) && $value < $min) {
return $default;
}
return $value;
}

View File

@ -84,6 +84,17 @@ class CommonFunctionsTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('Toner, S/N CR_UM-16021314488.', safedescr($data));
}
public function testSetNull()
{
$this->assertNull(set_null('BAD-DATA'));
$this->assertEquals(0, set_null(0));
$this->assertEquals(25, set_null(25));
$this->assertEquals(-25, set_null(-25));
$this->assertEquals(99, set_null(' ', 99));
$this->assertNull(set_null(-25, null, 0));
$this->assertEquals(2, set_null(2, 0, 2));
}
public function testIsIp()
{
$this->assertTrue(is_ip('192.168.0.1'));