function ByteSizeMarkupTest::providerTestCommonFormatSize

Same name and namespace 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[[api-linebreak]] @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.