BytesTest.php in Drupal 8
Same filename and directory in other branches
Namespace
Drupal\Tests\Component\UtilityFile
core/tests/Drupal/Tests/Component/Utility/BytesTest.phpView source
<?php
namespace Drupal\Tests\Component\Utility;
use Drupal\Component\Utility\Bytes;
use PHPUnit\Framework\TestCase;
/**
* Tests bytes size parsing helper methods.
*
* @group Utility
*
* @coversDefaultClass \Drupal\Component\Utility\Bytes
*/
class BytesTest extends TestCase {
/**
* Tests \Drupal\Component\Utility\Bytes::toInt().
*
* @param int $size
* The value for the size argument for
* \Drupal\Component\Utility\Bytes::toInt().
* @param int $expected_int
* The expected return value from
* \Drupal\Component\Utility\Bytes::toInt().
*
* @dataProvider providerTestToInt
* @covers ::toInt
*/
public function testToInt($size, $expected_int) {
$this
->assertEquals($expected_int, Bytes::toInt($size));
}
/**
* Provides data for testToInt.
*
* @return array
* An array of arrays, each containing the argument for
* \Drupal\Component\Utility\Bytes::toInt(): size, and the expected return
* value.
*/
public function providerTestToInt() {
return [
[
'1',
1,
],
[
'1 byte',
1,
],
[
'1 KB',
Bytes::KILOBYTE,
],
[
'1 MB',
pow(Bytes::KILOBYTE, 2),
],
[
'1 GB',
pow(Bytes::KILOBYTE, 3),
],
[
'1 TB',
pow(Bytes::KILOBYTE, 4),
],
[
'1 PB',
pow(Bytes::KILOBYTE, 5),
],
[
'1 EB',
pow(Bytes::KILOBYTE, 6),
],
[
'1 ZB',
pow(Bytes::KILOBYTE, 7),
],
[
'1 YB',
pow(Bytes::KILOBYTE, 8),
],
[
'23476892 bytes',
23476892,
],
// 76 MB.
[
'76MRandomStringThatShouldBeIgnoredByParseSize.',
79691776,
],
// 76.24 GB (with typo).
[
'76.24 Giggabyte',
81862076662,
],
[
'1.5',
2,
],
[
'2.4',
2,
],
[
'',
0,
],
];
}
}