function SizeTest::providerTestCommonFormatSize

Same name in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Common/SizeTest.php \Drupal\KernelTests\Core\Common\SizeTest::providerTestCommonFormatSize()

Provides a list of byte size to test.

File

core/tests/Drupal/KernelTests/Core/Common/SizeTest.php, line 29

Class

SizeTest
Parse a predefined amount of bytes and compare the output with the expected value.

Namespace

Drupal\KernelTests\Core\Common

Code

public function providerTestCommonFormatSize() {
    $kb = Bytes::KILOBYTE;
    return [
        [
            '0 bytes',
            0,
        ],
        [
            '1 byte',
            1,
        ],
        [
            '-1 bytes',
            -1,
        ],
        [
            '2 bytes',
            2,
        ],
        [
            '-2 bytes',
            -2,
        ],
        [
            '1023 bytes',
            $kb - 1,
        ],
        [
            '1 KB',
            $kb,
        ],
        [
            '1 MB',
            pow($kb, 2),
        ],
        [
            '1 GB',
            pow($kb, 3),
        ],
        [
            '1 TB',
            pow($kb, 4),
        ],
        [
            '1 PB',
            pow($kb, 5),
        ],
        [
            '1 EB',
            pow($kb, 6),
        ],
        [
            '1 ZB',
            pow($kb, 7),
        ],
        [
            '1 YB',
            pow($kb, 8),
        ],
        [
            '1024 YB',
            pow($kb, 9),
        ],
        // Rounded to 1 MB - not 1000 or 1024 kilobytes
[
            '1 MB',
            $kb * $kb - 1,
        ],
        [
            '-1 MB',
            -($kb * $kb - 1),
        ],
        // Decimal Megabytes
[
            '3.46 MB',
            3623651,
        ],
        [
            '3.77 GB',
            4053371676,
        ],
        // Decimal Petabytes
[
            '59.72 PB',
            67234178751368124,
        ],
        // Decimal Yottabytes
[
            '194.67 YB',
            2.3534682382112583E+26,
        ],
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.