1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-19 12:11:26 +02:00
This commit is contained in:
Wolfy-J
2015-06-28 17:08:10 +03:00
parent b3139c7db2
commit c7a6305205
4 changed files with 96 additions and 4 deletions

View File

@@ -28,14 +28,14 @@ class PsrResponseCommand extends AbstractCommand
$mimetype = finfo_buffer( $mimetype = finfo_buffer(
finfo_open(FILEINFO_MIME_TYPE), finfo_open(FILEINFO_MIME_TYPE),
$image->encoded $image->getEncoded()
); );
print_r($mimetype);
$this->setOutput(new Response( $this->setOutput(new Response(
200, 200,
array( array(
'Content-Type' => $mimetype, 'Content-Type' => $mimetype,
'Content-Length' => strlen($image->encoded) 'Content-Length' => strlen($image->getEncoded())
), ),
$stream $stream
)); ));

View File

@@ -17,7 +17,7 @@ class StreamCommand extends AbstractCommand
$quality = $this->argument(1)->between(0, 100)->value(); $quality = $this->argument(1)->between(0, 100)->value();
$this->setOutput(\GuzzleHttp\Psr7\stream_for( $this->setOutput(\GuzzleHttp\Psr7\stream_for(
$image->encode($format, $quality)->encoded $image->encode($format, $quality)->getEncoded()
)); ));
return true; return true;

View File

@@ -0,0 +1,57 @@
<?php
use Intervention\Image\Commands\PsrResponseCommand;
class PsrResponseCommandTest extends PHPUnit_Framework_TestCase
{
public function tearDown()
{
Mockery::close();
}
public function testResponseCreationAndHeaders()
{
//We know for sure that mimetype will be "application/xml"
$encodedContent = '<?xml version="1.0" encoding="UTF-8"?>';
$image = Mockery::mock('Intervention\Image\Image');
$stream = \GuzzleHttp\Psr7\stream_for($encodedContent);
$image->shouldReceive('stream')
->with('jpg', 87)
->once()
->andReturn($stream);
$image->shouldReceive('getEncoded')
->twice()
->andReturn($encodedContent);
$command = new PsrResponseCommand(array('jpg', 87));
$result = $command->execute($image);
$this->assertTrue($result);
$this->assertTrue($command->hasOutput());
$output = $command->getOutput();
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $output);
/**
* @var \Psr\Http\Message\ResponseInterface $output
*/
$this->assertEquals($stream, $output->getBody());
$this->assertEquals($encodedContent, (string)$output->getBody());
$this->assertTrue($output->hasHeader('Content-Type'));
$this->assertTrue($output->hasHeader('Content-Length'));
$this->assertEquals(
"application/xml",
$output->getHeaderLine('Content-Type')
);
$this->assertEquals(
strlen($encodedContent),
$output->getHeaderLine('Content-Length')
);
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Intervention\Image\Commands\StreamCommand;
class StreamCommandTest extends PHPUnit_Framework_TestCase
{
public function tearDown()
{
Mockery::close();
}
public function testStreamCreationAndContent()
{
$encodedContent = 'sample-content';
$image = Mockery::mock('Intervention\Image\Image');
$image->shouldReceive('encode')
->with('jpg', 87)
->once()
->andReturnSelf();
$image->shouldReceive('getEncoded')
->once()
->andReturn($encodedContent);
$command = new StreamCommand(array('jpg', 87));
$result = $command->execute($image);
$this->assertTrue($result);
$this->assertTrue($command->hasOutput());
$output = $command->getOutput();
$this->assertInstanceOf('Psr\Http\Message\StreamInterface', $output);
$this->assertEquals($encodedContent, (string)$output);
}
}