class FileTest in Zircon Profile 8.0
Same name in this branch
- 8.0 vendor/symfony/validator/Tests/Constraints/FileTest.php \Symfony\Component\Validator\Tests\Constraints\FileTest
- 8.0 vendor/symfony/http-foundation/Tests/File/FileTest.php \Symfony\Component\HttpFoundation\Tests\File\FileTest
- 8.0 core/modules/file/tests/src/Unit/Plugin/migrate/source/d6/FileTest.php \Drupal\Tests\file\Unit\Plugin\migrate\source\d6\FileTest
- 8.0 core/modules/file/tests/src/Unit/Plugin/migrate/source/d7/FileTest.php \Drupal\Tests\file\Unit\Plugin\migrate\source\d7\FileTest
Same name and namespace in other branches
- 8 vendor/symfony/http-foundation/Tests/File/FileTest.php \Symfony\Component\HttpFoundation\Tests\File\FileTest
Hierarchy
- class \Symfony\Component\HttpFoundation\Tests\File\FileTest extends \Symfony\Component\HttpFoundation\Tests\File\PHPUnit_Framework_TestCase
Expanded class hierarchy of FileTest
File
- vendor/
symfony/ http-foundation/ Tests/ File/ FileTest.php, line 17
Namespace
Symfony\Component\HttpFoundation\Tests\FileView source
class FileTest extends \PHPUnit_Framework_TestCase {
protected $file;
public function testGetMimeTypeUsesMimeTypeGuessers() {
$file = new File(__DIR__ . '/Fixtures/test.gif');
$guesser = $this
->createMockGuesser($file
->getPathname(), 'image/gif');
MimeTypeGuesser::getInstance()
->register($guesser);
$this
->assertEquals('image/gif', $file
->getMimeType());
}
public function testGuessExtensionWithoutGuesser() {
$file = new File(__DIR__ . '/Fixtures/directory/.empty');
$this
->assertNull($file
->guessExtension());
}
public function testGuessExtensionIsBasedOnMimeType() {
$file = new File(__DIR__ . '/Fixtures/test');
$guesser = $this
->createMockGuesser($file
->getPathname(), 'image/gif');
MimeTypeGuesser::getInstance()
->register($guesser);
$this
->assertEquals('gif', $file
->guessExtension());
}
/**
* @requires extension fileinfo
*/
public function testGuessExtensionWithReset() {
$file = new File(__DIR__ . '/Fixtures/other-file.example');
$guesser = $this
->createMockGuesser($file
->getPathname(), 'image/gif');
MimeTypeGuesser::getInstance()
->register($guesser);
$this
->assertEquals('gif', $file
->guessExtension());
MimeTypeGuesser::reset();
$this
->assertNull($file
->guessExtension());
}
public function testConstructWhenFileNotExists() {
$this
->setExpectedException('Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException');
new File(__DIR__ . '/Fixtures/not_here');
}
public function testMove() {
$path = __DIR__ . '/Fixtures/test.copy.gif';
$targetDir = __DIR__ . '/Fixtures/directory';
$targetPath = $targetDir . '/test.copy.gif';
@unlink($path);
@unlink($targetPath);
copy(__DIR__ . '/Fixtures/test.gif', $path);
$file = new File($path);
$movedFile = $file
->move($targetDir);
$this
->assertInstanceOf('Symfony\\Component\\HttpFoundation\\File\\File', $movedFile);
$this
->assertTrue(file_exists($targetPath));
$this
->assertFalse(file_exists($path));
$this
->assertEquals(realpath($targetPath), $movedFile
->getRealPath());
@unlink($targetPath);
}
public function testMoveWithNewName() {
$path = __DIR__ . '/Fixtures/test.copy.gif';
$targetDir = __DIR__ . '/Fixtures/directory';
$targetPath = $targetDir . '/test.newname.gif';
@unlink($path);
@unlink($targetPath);
copy(__DIR__ . '/Fixtures/test.gif', $path);
$file = new File($path);
$movedFile = $file
->move($targetDir, 'test.newname.gif');
$this
->assertTrue(file_exists($targetPath));
$this
->assertFalse(file_exists($path));
$this
->assertEquals(realpath($targetPath), $movedFile
->getRealPath());
@unlink($targetPath);
}
public function getFilenameFixtures() {
return array(
array(
'original.gif',
'original.gif',
),
array(
'..\\..\\original.gif',
'original.gif',
),
array(
'../../original.gif',
'original.gif',
),
array(
'файлfile.gif',
'файлfile.gif',
),
array(
'..\\..\\файлfile.gif',
'файлfile.gif',
),
array(
'../../файлfile.gif',
'файлfile.gif',
),
);
}
/**
* @dataProvider getFilenameFixtures
*/
public function testMoveWithNonLatinName($filename, $sanitizedFilename) {
$path = __DIR__ . '/Fixtures/' . $sanitizedFilename;
$targetDir = __DIR__ . '/Fixtures/directory/';
$targetPath = $targetDir . $sanitizedFilename;
@unlink($path);
@unlink($targetPath);
copy(__DIR__ . '/Fixtures/test.gif', $path);
$file = new File($path);
$movedFile = $file
->move($targetDir, $filename);
$this
->assertInstanceOf('Symfony\\Component\\HttpFoundation\\File\\File', $movedFile);
$this
->assertTrue(file_exists($targetPath));
$this
->assertFalse(file_exists($path));
$this
->assertEquals(realpath($targetPath), $movedFile
->getRealPath());
@unlink($targetPath);
}
public function testMoveToAnUnexistentDirectory() {
$sourcePath = __DIR__ . '/Fixtures/test.copy.gif';
$targetDir = __DIR__ . '/Fixtures/directory/sub';
$targetPath = $targetDir . '/test.copy.gif';
@unlink($sourcePath);
@unlink($targetPath);
@rmdir($targetDir);
copy(__DIR__ . '/Fixtures/test.gif', $sourcePath);
$file = new File($sourcePath);
$movedFile = $file
->move($targetDir);
$this
->assertFileExists($targetPath);
$this
->assertFileNotExists($sourcePath);
$this
->assertEquals(realpath($targetPath), $movedFile
->getRealPath());
@unlink($sourcePath);
@unlink($targetPath);
@rmdir($targetDir);
}
protected function createMockGuesser($path, $mimeType) {
$guesser = $this
->getMock('Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface');
$guesser
->expects($this
->once())
->method('guess')
->with($this
->equalTo($path))
->will($this
->returnValue($mimeType));
return $guesser;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FileTest:: |
protected | property | ||
FileTest:: |
protected | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | @requires extension fileinfo | |
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | ||
FileTest:: |
public | function | @dataProvider getFilenameFixtures |