diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-13 17:22:45 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-13 17:22:45 +0200 |
commit | 8c9add4d3292659228b3d0cf009a7945f09f2705 (patch) | |
tree | 585491b93183cee645d3a9aab383837080f3e8f8 | |
parent | 3790cbb493e44e9e089fe6f2966b90cbc2eda161 (diff) | |
download | nextcloud-server-8c9add4d3292659228b3d0cf009a7945f09f2705.tar.gz nextcloud-server-8c9add4d3292659228b3d0cf009a7945f09f2705.zip |
adding TB and GB to OC_Helper::humanFileSize
-rw-r--r-- | lib/helper.php | 11 | ||||
-rw-r--r-- | tests/lib/helper.php | 62 |
2 files changed, 41 insertions, 32 deletions
diff --git a/lib/helper.php b/lib/helper.php index 29660b9e1f1..5b9b961756c 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -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"; } /** diff --git a/tests/lib/helper.php b/tests/lib/helper.php index 67b5a3d43ec..b4d896e5196 100644 --- a/tests/lib/helper.php +++ b/tests/lib/helper.php @@ -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() { |