PsrResponseSubscriberTest.php in Zircon Profile 8.0
File
core/tests/Drupal/Tests/Core/EventSubscriber/PsrResponseSubscriberTest.php
View source
<?php
namespace Drupal\Tests\Core\EventSubscriber;
use Drupal\Tests\UnitTestCase;
use Drupal\Core\EventSubscriber\PsrResponseSubscriber;
class PsrResponseSubscriberTest extends UnitTestCase {
protected $psrResponseSubscriber;
protected $httpFoundationFactoryMock;
public function setUp() {
$factory = $this
->getMock('Symfony\\Bridge\\PsrHttpMessage\\HttpFoundationFactoryInterface', [], [], '', NULL);
$factory
->expects($this
->any())
->method('createResponse')
->willReturn($this
->getMock('Symfony\\Component\\HttpFoundation\\Response'));
$this->httpFoundationFactoryMock = $factory;
$this->psrResponseSubscriber = new PsrResponseSubscriber($this->httpFoundationFactoryMock);
}
public function testConvertsControllerResult() {
$event = $this
->createEventMock($this
->getMock('Psr\\Http\\Message\\ResponseInterface'));
$event
->expects($this
->once())
->method('setResponse')
->with($this
->isInstanceOf('Symfony\\Component\\HttpFoundation\\Response'));
$this->psrResponseSubscriber
->onKernelView($event);
}
public function testDoesNotConvertControllerResult() {
$event = $this
->createEventMock([]);
$event
->expects($this
->never())
->method('setResponse');
$this->psrResponseSubscriber
->onKernelView($event);
$event = $this
->createEventMock(NULL);
$event
->expects($this
->never())
->method('setResponse');
$this->psrResponseSubscriber
->onKernelView($event);
}
protected function createEventMock($controller_result) {
$event = $this
->getMock('Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent', [], [], '', NULL);
$event
->expects($this
->once())
->method('getControllerResult')
->willReturn($controller_result);
return $event;
}
}