[HttpKernel] Fix and test previous commit
This commit is contained in:
parent
ac0c00c6e8
commit
38b3b7474f
@ -121,7 +121,14 @@ EOF;
|
||||
$filtered[$key] = $this->filterFiles($value);
|
||||
} elseif ($value instanceof UploadedFile) {
|
||||
// Create a test mode UploadedFile
|
||||
$filtered[$key] = new UploadedFile($value->getPath(), $value->getName(), $value->getMimeType(), $value->getSize(), $value->getError(), true);
|
||||
$filtered[$key] = new UploadedFile(
|
||||
$value->getPathname(),
|
||||
$value->getClientOriginalName(),
|
||||
$value->getClientMimeType(),
|
||||
$value->getClientSize(),
|
||||
$value->getError(),
|
||||
true
|
||||
);
|
||||
} else {
|
||||
$filtered[$key] = $value;
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ use Symfony\Component\HttpKernel\HttpKernel;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\Cookie;
|
||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||
|
||||
require_once __DIR__.'/TestHttpKernel.php';
|
||||
|
||||
@ -76,4 +77,32 @@ class ClientTest extends \PHPUnit_Framework_TestCase
|
||||
$domResponse = $m->invoke($client, $response);
|
||||
$this->assertEquals('foo=bar; expires=Sun, 15-Feb-2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly, foo1=bar1; expires=Sun, 15-Feb-2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly', $domResponse->getHeader('Set-Cookie'));
|
||||
}
|
||||
|
||||
public function testUploadedFile()
|
||||
{
|
||||
$source = tempnam(sys_get_temp_dir(), 'source');
|
||||
$target = sys_get_temp_dir().'/sf.moved.file';
|
||||
@unlink($target);
|
||||
|
||||
$kernel = new TestHttpKernel();
|
||||
$client = new Client($kernel);
|
||||
|
||||
$client->request('POST', '/', array(), array(new UploadedFile($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK)));
|
||||
|
||||
$files = $kernel->request->files->all();
|
||||
|
||||
$this->assertEquals(1, count($files));
|
||||
|
||||
$file = $files[0];
|
||||
|
||||
$this->assertEquals('original', $file->getClientOriginalName());
|
||||
$this->assertEquals('mime/original', $file->getClientMimeType());
|
||||
$this->assertEquals('123', $file->getClientSize());
|
||||
$this->assertTrue($file->isValid());
|
||||
|
||||
$file->move(dirname($target), basename($target));
|
||||
|
||||
$this->assertFileExists($target);
|
||||
unlink($target);
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@ use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
|
||||
class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
|
||||
{
|
||||
public $request;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(new EventDispatcher(), $this);
|
||||
@ -36,6 +38,7 @@ class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
|
||||
|
||||
public function callController(Request $request)
|
||||
{
|
||||
$this->request = $request;
|
||||
return new Response('Request: '.$request->getRequestUri());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user