Files
bm/public_html/vendor/intervention/image/tests/PsrResponseCommandTest.php
2025-09-24 13:26:28 +02:00

59 lines
1.7 KiB
PHP

<?php
use Intervention\Image\Commands\PsrResponseCommand;
use PHPUnit\Framework\TestCase;
class PsrResponseCommandTest extends 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(['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->assertTrue(in_array($output->getHeaderLine('Content-Type'), [
'application/xml',
'text/xml',
]));
$this->assertEquals(
strlen($encodedContent),
$output->getHeaderLine('Content-Length')
);
}
}