You are here

public function SizeTest::providerTestCommonFormatSize in Drupal 8

Same name and namespace 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,
    ],
  ];
}