diff --git a/src/Symfony/Component/Console/Helper/Helper.php b/src/Symfony/Component/Console/Helper/Helper.php index 05e895f765a1..cc3205522e65 100644 --- a/src/Symfony/Component/Console/Helper/Helper.php +++ b/src/Symfony/Component/Console/Helper/Helper.php @@ -92,15 +92,15 @@ public static function formatTime($secs) public static function formatMemory($memory) { if ($memory >= 1024 * 1024 * 1024) { - return sprintf('%.1f GB', $memory / 1024 / 1024 / 1024); + return sprintf('%.1f GiB', $memory / 1024 / 1024 / 1024); } if ($memory >= 1024 * 1024) { - return sprintf('%.1f MB', $memory / 1024 / 1024); + return sprintf('%.1f MiB', $memory / 1024 / 1024); } if ($memory >= 1024) { - return sprintf('%d kB', $memory / 1024); + return sprintf('%d KiB', $memory / 1024); } return sprintf('%d B', $memory); diff --git a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php index 7bcfed026b9a..ba5db2921bd2 100644 --- a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php +++ b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php @@ -367,17 +367,17 @@ public function testAnsiColorsAndEmojis() $this->generateOutput( " \033[44;37m Starting the demo... fingers crossed \033[0m\n". " 0/15 ".$progress.str_repeat($empty, 26)." 0%\n". - " 🏁 1 sec \033[44;37m 0 B \033[0m" + " \xf0\x9f\x8f\x81 1 sec \033[44;37m 0 B \033[0m" ). $this->generateOutput( " \033[44;37m Looks good to me... \033[0m\n". " 4/15 ".str_repeat($done, 7).$progress.str_repeat($empty, 19)." 26%\n". - " 🏁 1 sec \033[41;37m 97 kB \033[0m" + " \xf0\x9f\x8f\x81 1 sec \033[41;37m 97 KiB \033[0m" ). $this->generateOutput( " \033[44;37m Thanks, bye \033[0m\n". " 15/15 ".str_repeat($done, 28)." 100%\n". - " 🏁 1 sec \033[41;37m 195 kB \033[0m" + " \xf0\x9f\x8f\x81 1 sec \033[41;37m 195 KiB \033[0m" ), stream_get_contents($output->getStream()) ); diff --git a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php index 0bba18fb099c..31f349c759a9 100644 --- a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php +++ b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php @@ -291,7 +291,7 @@ public static function getMaxFilesize() public function getErrorMessage() { static $errors = array( - UPLOAD_ERR_INI_SIZE => 'The file "%s" exceeds your upload_max_filesize ini directive (limit is %d kb).', + UPLOAD_ERR_INI_SIZE => 'The file "%s" exceeds your upload_max_filesize ini directive (limit is %d KiB).', UPLOAD_ERR_FORM_SIZE => 'The file "%s" exceeds the upload limit defined in your form.', UPLOAD_ERR_PARTIAL => 'The file "%s" was only partially uploaded.', UPLOAD_ERR_NO_FILE => 'No file was uploaded.', diff --git a/src/Symfony/Component/Validator/Constraints/FileValidator.php b/src/Symfony/Component/Validator/Constraints/FileValidator.php index b9d4fe164436..736a9d0cddd3 100644 --- a/src/Symfony/Component/Validator/Constraints/FileValidator.php +++ b/src/Symfony/Component/Validator/Constraints/FileValidator.php @@ -45,9 +45,9 @@ public function validate($value, Constraint $constraint) if (ctype_digit((string) $constraint->maxSize)) { $maxSize = (int) $constraint->maxSize; } elseif (preg_match('/^\d++k$/', $constraint->maxSize)) { - $maxSize = $constraint->maxSize * 1024; + $maxSize = $constraint->maxSize * 1000; } elseif (preg_match('/^\d++M$/', $constraint->maxSize)) { - $maxSize = $constraint->maxSize * 1048576; + $maxSize = $constraint->maxSize * 1000 * 1000; } else { throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $constraint->maxSize)); } @@ -119,9 +119,9 @@ public function validate($value, Constraint $constraint) } elseif (preg_match('/^\d++k$/', $constraint->maxSize)) { $size = round(filesize($path) / 1000, 2); $limit = (int) $constraint->maxSize; - $suffix = 'kB'; + $suffix = 'KB'; } elseif (preg_match('/^\d++M$/', $constraint->maxSize)) { - $size = round(filesize($path) / 1000000, 2); + $size = round(filesize($path) / (1000 * 1000), 2); $limit = (int) $constraint->maxSize; $suffix = 'MB'; } else { diff --git a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php index f5178cc029af..f5c52c30dca3 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php @@ -116,8 +116,8 @@ public function testTooLargeKiloBytes() ->method('addViolation') ->with('myMessage', array( '{{ limit }}' => '1', - '{{ size }}' => '1.4', - '{{ suffix }}' => 'kB', + '{{ size }}' => '1.37', + '{{ suffix }}' => 'KiB', '{{ file }}' => $this->path, )); @@ -137,14 +137,38 @@ public function testTooLargeMegaBytes() ->method('addViolation') ->with('myMessage', array( '{{ limit }}' => '1', - '{{ size }}' => '1.4', - '{{ suffix }}' => 'MB', + '{{ size }}' => '1.34', + '{{ suffix }}' => 'MiB', '{{ file }}' => $this->path, )); $this->validator->validate($this->getFile($this->path), $constraint); } + public function testMaxSizeKiloBytes() + { + fwrite($this->file, str_repeat('0', 1010)); + + $constraint = new File(array( + 'maxSize' => '1k', + )); + + $this->context->expects($this->never())->method('addViolation'); + $this->validator->validate($this->getFile($this->path), $constraint); + } + + public function testMaxSizeMegaBytes() + { + fwrite($this->file, str_repeat('0', (1024 * 1022))); + + $constraint = new File(array( + 'maxSize' => '1M', + )); + + $this->context->expects($this->never())->method('addViolation'); + $this->validator->validate($this->getFile($this->path), $constraint); + } + /** * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException */