Make WordPress Core


Ignore:
Timestamp:
03/18/2022 08:46:17 PM (3 years ago)
Author:
johnbillion
Message:

Formatting: Add support for formatting sizes as PB, EB, ZB, and YB.

Props henry.wright, Presskopp

Fixes #40875

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/functions/sizeFormat.php

    r49006 r52955  
    44 * Tests for size_format()
    55 *
     6 * @ticket 22405
    67 * @ticket 36635
     8 * @ticket 40875
    79 *
    810 * @group functions.php
     
    1315    public function _data_size_format() {
    1416        return array(
     17            // Invalid values
    1518            array( array(), 0, false ),
    1619            array( 'baba', 0, false ),
     
    1821            array( '-1', 0, false ),
    1922            array( -1, 0, false ),
     23            // Bytes
    2024            array( 0, 0, '0 B' ),
    2125            array( 1, 0, '1 B' ),
    2226            array( 1023, 0, '1,023 B' ),
     27            // Kilobytes
    2328            array( KB_IN_BYTES, 0, '1 KB' ),
    2429            array( KB_IN_BYTES, 2, '1.00 KB' ),
     
    2631            array( 2.5 * KB_IN_BYTES, 2, '2.50 KB' ),
    2732            array( 10 * KB_IN_BYTES, 0, '10 KB' ),
     33            // Megabytes
    2834            array( (string) 1024 * KB_IN_BYTES, 2, '1.00 MB' ),
    2935            array( MB_IN_BYTES, 0, '1 MB' ),
    3036            array( 2.5 * MB_IN_BYTES, 0, '3 MB' ),
    3137            array( 2.5 * MB_IN_BYTES, 2, '2.50 MB' ),
     38            // Gigabytes
    3239            array( (string) 1024 * MB_IN_BYTES, 2, '1.00 GB' ),
    3340            array( GB_IN_BYTES, 0, '1 GB' ),
    3441            array( 2.5 * GB_IN_BYTES, 0, '3 GB' ),
    3542            array( 2.5 * GB_IN_BYTES, 2, '2.50 GB' ),
     43            // Terabytes
    3644            array( (string) 1024 * GB_IN_BYTES, 2, '1.00 TB' ),
    3745            array( TB_IN_BYTES, 0, '1 TB' ),
    3846            array( 2.5 * TB_IN_BYTES, 0, '3 TB' ),
    3947            array( 2.5 * TB_IN_BYTES, 2, '2.50 TB' ),
     48            // Petabytes
     49            array( (string) 1024 * TB_IN_BYTES, 2, '1.00 PB' ),
     50            array( PB_IN_BYTES, 0, '1 PB' ),
     51            array( 2.5 * PB_IN_BYTES, 0, '3 PB' ),
     52            array( 2.5 * PB_IN_BYTES, 2, '2.50 PB' ),
     53            // Exabytes
     54            array( (string) 1024 * PB_IN_BYTES, 2, '1.00 EB' ),
     55            array( EB_IN_BYTES, 0, '1 EB' ),
     56            array( 2.5 * EB_IN_BYTES, 0, '3 EB' ),
     57            array( 2.5 * EB_IN_BYTES, 2, '2.50 EB' ),
     58            // Zettabytes
     59            array( (string) 1024 * EB_IN_BYTES, 2, '1.00 ZB' ),
     60            array( ZB_IN_BYTES, 0, '1 ZB' ),
     61            array( 2.5 * ZB_IN_BYTES, 0, '3 ZB' ),
     62            array( 2.5 * ZB_IN_BYTES, 2, '2.50 ZB' ),
     63            // Yottabytes
     64            array( (string) 1024 * ZB_IN_BYTES, 2, '1.00 YB' ),
     65            array( YB_IN_BYTES, 0, '1 YB' ),
     66            array( 2.5 * YB_IN_BYTES, 0, '3 YB' ),
     67            array( 2.5 * YB_IN_BYTES, 2, '2.50 YB' ),
     68            // Edge values
    4069            array( TB_IN_BYTES + ( TB_IN_BYTES / 2 ) + MB_IN_BYTES, 1, '1.5 TB' ),
    4170            array( TB_IN_BYTES - MB_IN_BYTES - KB_IN_BYTES, 3, '1,023.999 GB' ),
Note: See TracChangeset for help on using the changeset viewer.