]> source.dussan.org Git - nextcloud-server.git/commitdiff
adding TB and GB to OC_Helper::humanFileSize
authorThomas Müller <thomas.mueller@tmit.eu>
Fri, 13 Sep 2013 15:22:45 +0000 (17:22 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Fri, 13 Sep 2013 15:22:45 +0000 (17:22 +0200)
lib/helper.php
tests/lib/helper.php

index 29660b9e1f14c171215581e37c78b208c3aa4204..5b9b961756caeb825c7321d2bb60255612c0cc95 100644 (file)
@@ -296,10 +296,17 @@ class OC_Helper {
                if ($bytes < 1024) {
                        return "$bytes MB";
                }
+               $bytes = round($bytes / 1024, 1);
+               if ($bytes < 1024) {
+                       return "$bytes GB";
+               }
+               $bytes = round($bytes / 1024, 1);
+               if ($bytes < 1024) {
+                       return "$bytes TB";
+               }
 
-               // Wow, heavy duty for owncloud
                $bytes = round($bytes / 1024, 1);
-               return "$bytes GB";
+               return "$bytes PB";
        }
 
        /**
index 67b5a3d43ecc509bd56822e0df00341ea05cb881..b4d896e51967effe1b6a1b55b08f936e9a27fedb 100644 (file)
@@ -8,40 +8,42 @@
 
 class Test_Helper extends PHPUnit_Framework_TestCase {
 
-       function testHumanFileSize() {
-               $result = OC_Helper::humanFileSize(0);
-               $expected = '0 B';
-               $this->assertEquals($result, $expected);
-
-               $result = OC_Helper::humanFileSize(1024);
-               $expected = '1 kB';
-               $this->assertEquals($result, $expected);
-
-               $result = OC_Helper::humanFileSize(10000000);
-               $expected = '9.5 MB';
-               $this->assertEquals($result, $expected);
-
-               $result = OC_Helper::humanFileSize(500000000000);
-               $expected = '465.7 GB';
-               $this->assertEquals($result, $expected);
+       /**
+        * @dataProvider humanFileSizeProvider
+        */
+       public function testHumanFileSize($expected, $input)
+       {
+               $result = OC_Helper::humanFileSize($input);
+               $this->assertEquals($expected, $result);
        }
 
-       function testComputerFileSize() {
-               $result = OC_Helper::computerFileSize("0 B");
-               $expected = '0.0';
-               $this->assertEquals($result, $expected);
-
-               $result = OC_Helper::computerFileSize("1 kB");
-               $expected = '1024.0';
-               $this->assertEquals($result, $expected);
+       public function humanFileSizeProvider()
+       {
+               return array(
+                       array('0 B', 0),
+                       array('1 kB', 1024),
+                       array('9.5 MB', 10000000),
+                       array('465.7 GB', 500000000000),
+                       array('454.7 TB', 500000000000000),
+                       array('444.1 PB', 500000000000000000),
+               );
+       }
 
-               $result = OC_Helper::computerFileSize("9.5 MB");
-               $expected = '9961472.0';
-               $this->assertEquals($result, $expected);
+       /**
+        * @dataProvider computerFileSizeProvider
+        */
+       function testComputerFileSize($expected, $input) {
+               $result = OC_Helper::computerFileSize($input);
+               $this->assertEquals($expected, $result);
+       }
 
-               $result = OC_Helper::computerFileSize("465.7 GB");
-               $expected = '500041567436.8';
-               $this->assertEquals($result, $expected);
+       function computerFileSizeProvider(){
+               return array(
+                       array(0.0, "0 B"),
+                       array(1024.0, "1 kB"),
+                       array(9961472.0, "9.5 MB"),
+                       array(500041567436.8, "465.7 GB"),
+               );
        }
 
        function testGetMimeType() {