aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-13 17:22:45 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-13 17:22:45 +0200
commit8c9add4d3292659228b3d0cf009a7945f09f2705 (patch)
tree585491b93183cee645d3a9aab383837080f3e8f8
parent3790cbb493e44e9e089fe6f2966b90cbc2eda161 (diff)
downloadnextcloud-server-8c9add4d3292659228b3d0cf009a7945f09f2705.tar.gz
nextcloud-server-8c9add4d3292659228b3d0cf009a7945f09f2705.zip
adding TB and GB to OC_Helper::humanFileSize
-rw-r--r--lib/helper.php11
-rw-r--r--tests/lib/helper.php62
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() {