Browse Source

Correctly round bytes when converted from human readable format

Instead of leave two decimal places which is confusing, round the byte
values correctly to the closest byte.
tags/v7.0.0alpha2
Vincent Petry 10 years ago
parent
commit
145db370d1
2 changed files with 5 additions and 3 deletions
  1. 2
    2
      lib/private/helper.php
  2. 3
    1
      tests/lib/helper.php

+ 2
- 2
lib/private/helper.php View File

@@ -308,7 +308,7 @@ class OC_Helper {

/**
* @brief Make a computer file size
* @param string $str file size in a fancy format
* @param string $str file size in human readable format
* @return int a file size in bytes
*
* Makes 2kB to 2048.
@@ -338,7 +338,7 @@ class OC_Helper {
$bytes *= $bytes_array[$matches[1]];
}

$bytes = round($bytes, 2);
$bytes = round($bytes);

return $bytes;
}

+ 3
- 1
tests/lib/helper.php View File

@@ -23,6 +23,7 @@ class Test_Helper extends PHPUnit_Framework_TestCase {
array('0 B', 0),
array('1 kB', 1024),
array('9.5 MB', 10000000),
array('1.3 GB', 1395864371),
array('465.7 GB', 500000000000),
array('454.7 TB', 500000000000000),
array('444.1 PB', 500000000000000000),
@@ -41,8 +42,9 @@ class Test_Helper extends PHPUnit_Framework_TestCase {
return array(
array(0.0, "0 B"),
array(1024.0, "1 kB"),
array(1395864371.0, '1.3 GB'),
array(9961472.0, "9.5 MB"),
array(500041567436.8, "465.7 GB"),
array(500041567437.0, "465.7 GB"),
);
}


Loading…
Cancel
Save