public function ClientTest::testUploadedFile

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php, line 89

Class

ClientTest

Namespace

Symfony\Component\HttpKernel\Tests

Code

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);
  $files = array(
    array(
      'tmp_name' => $source,
      'name' => 'original',
      'type' => 'mime/original',
      'size' => 123,
      'error' => UPLOAD_ERR_OK,
    ),
    new UploadedFile($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK),
  );
  foreach ($files as $file) {
    $client
      ->request('POST', '/', array(), array(
      'foo' => $file,
    ));
    $files = $client
      ->getRequest()->files
      ->all();
    $this
      ->assertCount(1, $files);
    $file = $files['foo'];
    $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);
}