PHP 8.5 fixes and updates
All tested with PHP 8.4 and PHP 8.3 too Major changes: - cube root Math (cbrt) now throws InvalidArgumentException if NAN is returned instead of returning NAN - Byte convert from string to int will throw errors if value is too large (\LengthException) - new flag for returning string type but for this bcmath must be installed (\RuntimeException if no bcmath) - Updated curl class and remove close handler as not needed and deprecated as of PHP 8.5 - Curl phpunit tests: convert string to JSON convert flow for return content check (to avoid per PHP version check) - image close handler for ImageMagick removed as not needed and deprecated as of PHP 8.5 - updated all check calls too use phive tools if possible (except phpunit) and all scripts can have dynamic php version set
This commit is contained in:
@@ -123,47 +123,6 @@ final class CoreLibsConvertByteTest extends TestCase
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function byteStringProvider(): array
|
||||
{
|
||||
return [
|
||||
'negative number' => [
|
||||
0 => '-117.42 MB',
|
||||
1 => -123123794,
|
||||
2 => -117420000,
|
||||
],
|
||||
'megabyte' => [
|
||||
0 => '242.98 MB',
|
||||
1 => 254782996,
|
||||
2 => 242980000
|
||||
],
|
||||
'megabyte si' => [
|
||||
0 => '254.78 MiB',
|
||||
1 => 267156193,
|
||||
2 => 254780000
|
||||
],
|
||||
'petabyte' => [
|
||||
0 => '1 EiB',
|
||||
1 => 1152921504606846976,
|
||||
2 => 1000000000000000000,
|
||||
],
|
||||
'max int' => [
|
||||
0 => '8 EB',
|
||||
1 => -9223372036854775807 - 1,
|
||||
2 => 8000000000000000000,
|
||||
],
|
||||
'exabyte, overflow' => [
|
||||
0 => '867.36EB',
|
||||
1 => 3873816255479021568,
|
||||
2 => 363028535651074048,
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
@@ -180,7 +139,7 @@ final class CoreLibsConvertByteTest extends TestCase
|
||||
* @return void
|
||||
*/
|
||||
public function testHumanReadableByteFormat(
|
||||
$input,
|
||||
string|int|float $input,
|
||||
string $expected,
|
||||
string $expected_si,
|
||||
string $expected_no_space,
|
||||
@@ -217,6 +176,73 @@ final class CoreLibsConvertByteTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function byteStringProvider(): array
|
||||
{
|
||||
return [
|
||||
'negative number' => [
|
||||
0 => '-117.42 MB',
|
||||
1 => -123123794,
|
||||
2 => -117420000,
|
||||
3 => "-123123793",
|
||||
4 => "-117420000",
|
||||
5 => null,
|
||||
],
|
||||
'megabyte' => [
|
||||
0 => '242.98 MB',
|
||||
1 => 254782996,
|
||||
2 => 242980000,
|
||||
3 => "254782996",
|
||||
4 => "242980000",
|
||||
5 => null,
|
||||
],
|
||||
'megabyte si' => [
|
||||
0 => '254.78 MiB',
|
||||
1 => 267156193,
|
||||
2 => 254780000,
|
||||
3 => "267156193",
|
||||
4 => "254780000",
|
||||
5 => null,
|
||||
],
|
||||
'petabyte' => [
|
||||
0 => '1 EiB',
|
||||
1 => 1152921504606846976,
|
||||
2 => 1000000000000000000,
|
||||
3 => "1152921504606846976",
|
||||
4 => "1000000000000000000",
|
||||
5 => null,
|
||||
],
|
||||
'max int' => [
|
||||
0 => '8 EB',
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => "9223372036854775808",
|
||||
4 => "8000000000000000000",
|
||||
5 => \LengthException::class,
|
||||
],
|
||||
'exabyte, overflow' => [
|
||||
0 => '867.36EB',
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => "999997996235794808832",
|
||||
4 => "867360000000000000000",
|
||||
5 => \LengthException::class,
|
||||
],
|
||||
'huge exabyte, overflow' => [
|
||||
0 => '1000EB',
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => "1152921504606846976000",
|
||||
4 => "1000000000000000000000",
|
||||
5 => \LengthException::class,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
@@ -227,10 +253,22 @@ final class CoreLibsConvertByteTest extends TestCase
|
||||
* @param string|int|float $input
|
||||
* @param string|int|float $expected
|
||||
* @param string|int|float $expected_si
|
||||
* @param string|int|float $expected_string
|
||||
* @param string|int|float $expected_string_si
|
||||
* @param ?string $exception
|
||||
* @return void
|
||||
*/
|
||||
public function testStringByteFormat($input, $expected, $expected_si): void
|
||||
{
|
||||
public function testStringByteFormat(
|
||||
string|int|float $input,
|
||||
string|int|float $expected,
|
||||
string|int|float $expected_si,
|
||||
string|int|float $expected_string,
|
||||
string|int|float $expected_string_si,
|
||||
?string $exception
|
||||
): void {
|
||||
if ($exception !== null) {
|
||||
$this->expectException($exception);
|
||||
}
|
||||
$this->assertEquals(
|
||||
$expected,
|
||||
\CoreLibs\Convert\Byte::stringByteFormat($input)
|
||||
@@ -239,6 +277,17 @@ final class CoreLibsConvertByteTest extends TestCase
|
||||
$expected_si,
|
||||
\CoreLibs\Convert\Byte::stringByteFormat($input, \CoreLibs\Convert\Byte::BYTE_FORMAT_SI)
|
||||
);
|
||||
$this->assertEquals(
|
||||
$expected_string,
|
||||
\CoreLibs\Convert\Byte::stringByteFormat($input, \CoreLibs\Convert\Byte::RETURN_AS_STRING)
|
||||
);
|
||||
$this->assertEquals(
|
||||
$expected_string_si,
|
||||
\CoreLibs\Convert\Byte::stringByteFormat(
|
||||
$input,
|
||||
\CoreLibs\Convert\Byte::BYTE_FORMAT_SI | \CoreLibs\Convert\Byte::RETURN_AS_STRING
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user