More updates to stop using dev or alpha or beta versions.
[yaffs-website] / web / core / tests / Drupal / Tests / Core / EventSubscriber / PsrResponseSubscriberTest.php
1 <?php
2
3 namespace Drupal\Tests\Core\EventSubscriber;
4
5 use Drupal\Tests\UnitTestCase;
6 use Drupal\Core\EventSubscriber\PsrResponseSubscriber;
7
8 /**
9  * @coversDefaultClass \Drupal\Core\EventSubscriber\PsrResponseSubscriber
10  * @group EventSubscriber
11  */
12 class PsrResponseSubscriberTest extends UnitTestCase {
13
14   /**
15    * The tested path root subscriber.
16    *
17    * @var \Drupal\Core\EventSubscriber\PsrResponseSubscriber
18    */
19   protected $psrResponseSubscriber;
20
21   /**
22    * The tested path root subscriber.
23    *
24    * @var \Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface|\PHPUnit_Framework_MockObject_MockObject
25    */
26   protected $httpFoundationFactoryMock;
27
28   /**
29    * {@inheritdoc}
30    */
31   protected function setUp() {
32     $factory = $this->getMock('Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface', [], [], '', NULL);
33     $factory
34       ->expects($this->any())
35       ->method('createResponse')
36       ->willReturn($this->getMock('Symfony\Component\HttpFoundation\Response'));
37
38     $this->httpFoundationFactoryMock = $factory;
39
40     $this->psrResponseSubscriber = new PsrResponseSubscriber($this->httpFoundationFactoryMock);
41   }
42
43   /**
44    * Tests altering and finished event.
45    *
46    * @covers ::onKernelView
47    */
48   public function testConvertsControllerResult() {
49     $event = $this->createEventMock($this->getMock('Psr\Http\Message\ResponseInterface'));
50     $event
51       ->expects($this->once())
52       ->method('setResponse')
53       ->with($this->isInstanceOf('Symfony\Component\HttpFoundation\Response'));
54     $this->psrResponseSubscriber->onKernelView($event);
55   }
56
57
58   /**
59    * Tests altering and finished event.
60    *
61    * @covers ::onKernelView
62    */
63   public function testDoesNotConvertControllerResult() {
64     $event = $this->createEventMock([]);
65     $event
66       ->expects($this->never())
67       ->method('setResponse');
68     $this->psrResponseSubscriber->onKernelView($event);
69     $event = $this->createEventMock(NULL);
70     $event
71       ->expects($this->never())
72       ->method('setResponse');
73     $this->psrResponseSubscriber->onKernelView($event);
74   }
75
76   /**
77    * Sets up an alias event that return $controllerResult.
78    *
79    * @param mixed $controller_result
80    *   The return Object.
81    *
82    * @return \Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent|\PHPUnit_Framework_MockObject_MockObject
83    *   A mock object to test.
84    */
85   protected function createEventMock($controller_result) {
86     $event = $this->getMock('Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent', [], [], '', NULL);
87     $event
88       ->expects($this->once())
89       ->method('getControllerResult')
90       ->willReturn($controller_result);
91     return $event;
92   }
93
94 }