mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-01 15:14:11 +01:00
N°5172 - Add internal helpers to keep usage of null value in native PHP methods: strlen() => utils::StrLen()
This commit is contained in:
@@ -2819,6 +2819,23 @@ HTML;
|
||||
return $aPrefs[$sShortcutId];
|
||||
}
|
||||
|
||||
//----------------------------------------------
|
||||
// PHP function helpers
|
||||
//----------------------------------------------
|
||||
|
||||
/**
|
||||
* Helper around the native strlen() PHP method to keep allowing usage of null value when computing the length of a string as null value is no longer allowed with PHP 8.1+
|
||||
*
|
||||
* @param string|null $sString
|
||||
*
|
||||
* @return int Length of $sString, 0 if null
|
||||
* @since 3.0.2 N°5172
|
||||
*/
|
||||
public static function StrLen(?string $sString): int
|
||||
{
|
||||
return strlen($sString ?? '');
|
||||
}
|
||||
|
||||
//----------------------------------------------
|
||||
// Environment helpers
|
||||
//----------------------------------------------
|
||||
|
||||
@@ -605,4 +605,26 @@ class UtilsTest extends \Combodo\iTop\Test\UnitTest\ItopTestCase
|
||||
'2G' => ['2G', 2 * 1024 * 1024 * 1024],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|null $sString
|
||||
* @param int $iExpected
|
||||
*
|
||||
* @dataProvider StrLenProvider
|
||||
*/
|
||||
public function testStrLen(?string $sString, int $iExpected)
|
||||
{
|
||||
$iComputed = utils::StrLen($sString);
|
||||
self::assertEquals($iExpected, $iComputed, 'Length was not as expected');
|
||||
}
|
||||
|
||||
public function StrLenProvider(): array
|
||||
{
|
||||
return [
|
||||
'null value' => [null, 0],
|
||||
'0 character' => ['', 0],
|
||||
'1 character' => ['a', 1],
|
||||
'5 characters' => ['abcde', 5],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user