Skip to content
This repository was archived by the owner on Jan 31, 2020. It is now read-only.

Commit 3c2a455

Browse files
committed
Merge pull request #112 from MidnightDesign/php-renderer-strategy-no-response
PhpRendererStrategy should be able to handle an event w/o a response
2 parents df72b10 + 239eef9 commit 3c2a455

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/Strategy/PhpRendererStrategy.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,12 @@ public function selectRenderer(ViewEvent $e)
103103
public function injectResponse(ViewEvent $e)
104104
{
105105
$renderer = $e->getRenderer();
106-
if ($renderer !== $this->renderer) {
106+
$response = $e->getResponse();
107+
if ($renderer !== $this->renderer || $response === null) {
107108
return;
108109
}
109110

110111
$result = $e->getResult();
111-
$response = $e->getResponse();
112112

113113
// Set content
114114
// If content is empty, check common placeholders to determine if they are

test/Strategy/PhpRendererStrategyTest.php

+13
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ class PhpRendererStrategyTest extends TestCase
2121
{
2222
use EventListenerIntrospectionTrait;
2323

24+
/** @var PhpRendererStrategy */
25+
private $strategy;
26+
2427
public function setUp()
2528
{
2629
$this->renderer = new PhpRenderer;
@@ -168,4 +171,14 @@ public function testDetachesListeners()
168171
$listeners = iterator_to_array($this->getListenersForEvent('response', $events));
169172
$this->assertCount(0, $listeners);
170173
}
174+
175+
public function testInjectResponseWorksWithAnEventWithNoResponse()
176+
{
177+
$e = new ViewEvent();
178+
$e->setRenderer($this->strategy->getRenderer());
179+
180+
$this->strategy->injectResponse($e);
181+
182+
$this->assertNull($e->getResponse());
183+
}
171184
}

0 commit comments

Comments
 (0)