function ByteSizeMarkupTest::providerTestCommonFormatSize

Same name in other branches
  1. 11.x core/tests/Drupal/Tests/Core/StringTranslation/ByteSizeMarkupTest.php \Drupal\Tests\Core\StringTranslation\ByteSizeMarkupTest::providerTestCommonFormatSize()

Provides a list of byte size to test.

File

core/tests/Drupal/Tests/Core/StringTranslation/ByteSizeMarkupTest.php, line 32

Class

ByteSizeMarkupTest
@coversDefaultClass \Drupal\Core\StringTranslation\ByteSizeMarkup @group StringTranslation

Namespace

Drupal\Tests\Core\StringTranslation

Code

public static function providerTestCommonFormatSize() {
    $kb = Bytes::KILOBYTE;
    return [
        [
            '0 bytes',
            0,
        ],
        // @todo https://www.drupal.org/node/3161118 Prevent display of fractional
        //   bytes for size less then 1KB.
[
            '0.1 bytes',
            0.1,
        ],
        [
            '0.6 bytes',
            0.6,
        ],
        [
            '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.