diff options
Diffstat (limited to 'server/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php')
-rw-r--r-- | server/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/server/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php b/server/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php deleted file mode 100644 index 809f7ab..0000000 --- a/server/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php +++ /dev/null @@ -1,280 +0,0 @@ -<?php -namespace GuzzleHttp\Tests\Psr7; - -use ReflectionProperty; -use GuzzleHttp\Psr7\Stream; -use GuzzleHttp\Psr7\UploadedFile; - -/** - * @covers GuzzleHttp\Psr7\UploadedFile - */ -class UploadedFileTest extends \PHPUnit_Framework_TestCase -{ - protected $cleanup; - - public function setUp() - { - $this->cleanup = []; - } - - public function tearDown() - { - foreach ($this->cleanup as $file) { - if (is_scalar($file) && file_exists($file)) { - unlink($file); - } - } - } - - public function invalidStreams() - { - return [ - 'null' => [null], - 'true' => [true], - 'false' => [false], - 'int' => [1], - 'float' => [1.1], - 'array' => [['filename']], - 'object' => [(object) ['filename']], - ]; - } - - /** - * @dataProvider invalidStreams - */ - public function testRaisesExceptionOnInvalidStreamOrFile($streamOrFile) - { - $this->setExpectedException('InvalidArgumentException'); - - new UploadedFile($streamOrFile, 0, UPLOAD_ERR_OK); - } - - public function invalidSizes() - { - return [ - 'null' => [null], - 'float' => [1.1], - 'array' => [[1]], - 'object' => [(object) [1]], - ]; - } - - /** - * @dataProvider invalidSizes - */ - public function testRaisesExceptionOnInvalidSize($size) - { - $this->setExpectedException('InvalidArgumentException', 'size'); - - new UploadedFile(fopen('php://temp', 'wb+'), $size, UPLOAD_ERR_OK); - } - - public function invalidErrorStatuses() - { - return [ - 'null' => [null], - 'true' => [true], - 'false' => [false], - 'float' => [1.1], - 'string' => ['1'], - 'array' => [[1]], - 'object' => [(object) [1]], - 'negative' => [-1], - 'too-big' => [9], - ]; - } - - /** - * @dataProvider invalidErrorStatuses - */ - public function testRaisesExceptionOnInvalidErrorStatus($status) - { - $this->setExpectedException('InvalidArgumentException', 'status'); - - new UploadedFile(fopen('php://temp', 'wb+'), 0, $status); - } - - public function invalidFilenamesAndMediaTypes() - { - return [ - 'true' => [true], - 'false' => [false], - 'int' => [1], - 'float' => [1.1], - 'array' => [['string']], - 'object' => [(object) ['string']], - ]; - } - - /** - * @dataProvider invalidFilenamesAndMediaTypes - */ - public function testRaisesExceptionOnInvalidClientFilename($filename) - { - $this->setExpectedException('InvalidArgumentException', 'filename'); - - new UploadedFile(fopen('php://temp', 'wb+'), 0, UPLOAD_ERR_OK, $filename); - } - - /** - * @dataProvider invalidFilenamesAndMediaTypes - */ - public function testRaisesExceptionOnInvalidClientMediaType($mediaType) - { - $this->setExpectedException('InvalidArgumentException', 'media type'); - - new UploadedFile(fopen('php://temp', 'wb+'), 0, UPLOAD_ERR_OK, 'foobar.baz', $mediaType); - } - - public function testGetStreamReturnsOriginalStreamObject() - { - $stream = new Stream(fopen('php://temp', 'r')); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - - $this->assertSame($stream, $upload->getStream()); - } - - public function testGetStreamReturnsWrappedPhpStream() - { - $stream = fopen('php://temp', 'wb+'); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - $uploadStream = $upload->getStream()->detach(); - - $this->assertSame($stream, $uploadStream); - } - - public function testGetStreamReturnsStreamForFile() - { - $this->cleanup[] = $stream = tempnam(sys_get_temp_dir(), 'stream_file'); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - $uploadStream = $upload->getStream(); - $r = new ReflectionProperty($uploadStream, 'filename'); - $r->setAccessible(true); - - $this->assertSame($stream, $r->getValue($uploadStream)); - } - - public function testSuccessful() - { - $stream = \GuzzleHttp\Psr7\stream_for('Foo bar!'); - $upload = new UploadedFile($stream, $stream->getSize(), UPLOAD_ERR_OK, 'filename.txt', 'text/plain'); - - $this->assertEquals($stream->getSize(), $upload->getSize()); - $this->assertEquals('filename.txt', $upload->getClientFilename()); - $this->assertEquals('text/plain', $upload->getClientMediaType()); - - $this->cleanup[] = $to = tempnam(sys_get_temp_dir(), 'successful'); - $upload->moveTo($to); - $this->assertFileExists($to); - $this->assertEquals($stream->__toString(), file_get_contents($to)); - } - - public function invalidMovePaths() - { - return [ - 'null' => [null], - 'true' => [true], - 'false' => [false], - 'int' => [1], - 'float' => [1.1], - 'empty' => [''], - 'array' => [['filename']], - 'object' => [(object) ['filename']], - ]; - } - - /** - * @dataProvider invalidMovePaths - */ - public function testMoveRaisesExceptionForInvalidPath($path) - { - $stream = \GuzzleHttp\Psr7\stream_for('Foo bar!'); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - - $this->cleanup[] = $path; - - $this->setExpectedException('InvalidArgumentException', 'path'); - $upload->moveTo($path); - } - - public function testMoveCannotBeCalledMoreThanOnce() - { - $stream = \GuzzleHttp\Psr7\stream_for('Foo bar!'); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - - $this->cleanup[] = $to = tempnam(sys_get_temp_dir(), 'diac'); - $upload->moveTo($to); - $this->assertTrue(file_exists($to)); - - $this->setExpectedException('RuntimeException', 'moved'); - $upload->moveTo($to); - } - - public function testCannotRetrieveStreamAfterMove() - { - $stream = \GuzzleHttp\Psr7\stream_for('Foo bar!'); - $upload = new UploadedFile($stream, 0, UPLOAD_ERR_OK); - - $this->cleanup[] = $to = tempnam(sys_get_temp_dir(), 'diac'); - $upload->moveTo($to); - $this->assertFileExists($to); - - $this->setExpectedException('RuntimeException', 'moved'); - $upload->getStream(); - } - - public function nonOkErrorStatus() - { - return [ - 'UPLOAD_ERR_INI_SIZE' => [ UPLOAD_ERR_INI_SIZE ], - 'UPLOAD_ERR_FORM_SIZE' => [ UPLOAD_ERR_FORM_SIZE ], - 'UPLOAD_ERR_PARTIAL' => [ UPLOAD_ERR_PARTIAL ], - 'UPLOAD_ERR_NO_FILE' => [ UPLOAD_ERR_NO_FILE ], - 'UPLOAD_ERR_NO_TMP_DIR' => [ UPLOAD_ERR_NO_TMP_DIR ], - 'UPLOAD_ERR_CANT_WRITE' => [ UPLOAD_ERR_CANT_WRITE ], - 'UPLOAD_ERR_EXTENSION' => [ UPLOAD_ERR_EXTENSION ], - ]; - } - - /** - * @dataProvider nonOkErrorStatus - */ - public function testConstructorDoesNotRaiseExceptionForInvalidStreamWhenErrorStatusPresent($status) - { - $uploadedFile = new UploadedFile('not ok', 0, $status); - $this->assertSame($status, $uploadedFile->getError()); - } - - /** - * @dataProvider nonOkErrorStatus - */ - public function testMoveToRaisesExceptionWhenErrorStatusPresent($status) - { - $uploadedFile = new UploadedFile('not ok', 0, $status); - $this->setExpectedException('RuntimeException', 'upload error'); - $uploadedFile->moveTo(__DIR__ . '/' . uniqid()); - } - - /** - * @dataProvider nonOkErrorStatus - */ - public function testGetStreamRaisesExceptionWhenErrorStatusPresent($status) - { - $uploadedFile = new UploadedFile('not ok', 0, $status); - $this->setExpectedException('RuntimeException', 'upload error'); - $stream = $uploadedFile->getStream(); - } - - public function testMoveToCreatesStreamIfOnlyAFilenameWasProvided() - { - $this->cleanup[] = $from = tempnam(sys_get_temp_dir(), 'copy_from'); - $this->cleanup[] = $to = tempnam(sys_get_temp_dir(), 'copy_to'); - - copy(__FILE__, $from); - - $uploadedFile = new UploadedFile($from, 100, UPLOAD_ERR_OK, basename($from), 'text/plain'); - $uploadedFile->moveTo($to); - - $this->assertFileEquals(__FILE__, $to); - } -} |