From be42dbc82aaddce30e51dbe9a95e74884e742c84 Mon Sep 17 00:00:00 2001 From: alexpods Date: Thu, 9 May 2013 19:23:25 +0400 Subject: [PATCH] [HttpFoundation][File][UploadedFile] Fix guessClientExtension() method --- .../HttpFoundation/File/UploadedFile.php | 3 ++- .../Tests/File/UploadedFileTest.php | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php index bd7ebec52e..1f23c35c6b 100644 --- a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php +++ b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php @@ -13,6 +13,7 @@ namespace Symfony\Component\HttpFoundation\File; use Symfony\Component\HttpFoundation\File\Exception\FileException; use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; +use Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser; /** * A file uploaded through a form. @@ -170,7 +171,7 @@ class UploadedFile extends File */ public function guessClientExtension() { - $type = $this->getMimeType(); + $type = $this->getClientMimeType(); $guesser = ExtensionGuesser::getInstance(); return $guesser->guess($type); diff --git a/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php b/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php index f03c8e211b..f6ea340091 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php @@ -63,6 +63,32 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase $this->assertEquals('application/octet-stream', $file->getClientMimeType()); } + public function testGuessClientExtension() + { + $file = new UploadedFile( + __DIR__.'/Fixtures/test.gif', + 'original.gif', + 'image/gif', + filesize(__DIR__.'/Fixtures/test.gif'), + null + ); + + $this->assertEquals('gif', $file->guessClientExtension()); + } + + public function testGuessClientExtensionWithIncorrectMimeType() + { + $file = new UploadedFile( + __DIR__.'/Fixtures/test.gif', + 'original.gif', + 'image/jpeg', + filesize(__DIR__.'/Fixtures/test.gif'), + null + ); + + $this->assertEquals('jpeg', $file->guessClientExtension()); + } + public function testErrorIsOkByDefault() { $file = new UploadedFile(