Skip to content

Commit a54cbff

Browse files
committed
[FrameworkBundle] Made DelegatingEngine::getEngine() public.
1 parent 3f84cd3 commit a54cbff

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

src/Symfony/Bundle/FrameworkBundle/Templating/DelegatingEngine.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function supports($name)
5858
/**
5959
* {@inheritdoc}
6060
*/
61-
protected function getEngine($name)
61+
public function getEngine($name)
6262
{
6363
foreach ($this->engines as $i => $engine) {
6464
if (is_string($engine)) {

src/Symfony/Bundle/FrameworkBundle/Tests/Templating/DelegatingEngineTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,37 @@ public function testSupportsRetrievesEngineFromTheContainer()
2727
$this->assertTrue($delegatingEngine->supports('template.php'));
2828
}
2929

30+
public function testGetExistingEngine()
31+
{
32+
$firstEngine = $this->getEngineMock('template.php', false);
33+
$secondEngine = $this->getEngineMock('template.php', true);
34+
$container = $this->getContainerMock(array(
35+
'engine.first' => $firstEngine,
36+
'engine.second' => $secondEngine
37+
));
38+
39+
$delegatingEngine = new DelegatingEngine($container, array('engine.first', 'engine.second'));
40+
41+
$this->assertSame($secondEngine, $delegatingEngine->getEngine('template.php', array('foo' => 'bar')));
42+
}
43+
44+
/**
45+
* @expectedException \RuntimeException
46+
* @expectedExceptionMessage No engine is able to work with the template "template.php"
47+
*/
48+
public function testGetInvalidEngine()
49+
{
50+
$firstEngine = $this->getEngineMock('template.php', false);
51+
$secondEngine = $this->getEngineMock('template.php', false);
52+
$container = $this->getContainerMock(array(
53+
'engine.first' => $firstEngine,
54+
'engine.second' => $secondEngine
55+
));
56+
57+
$delegatingEngine = new DelegatingEngine($container, array('engine.first', 'engine.second'));
58+
$delegatingEngine->getEngine('template.php', array('foo' => 'bar'));
59+
}
60+
3061
public function testRenderResponse()
3162
{
3263
$response = $this->getMock('Symfony\Component\HttpFoundation\Response');

0 commit comments

Comments
 (0)