Skip to content

Commit 3f84cd3

Browse files
committed
[Templating] Made DelegatingEngine::getEngine() public.
1 parent 0a72a99 commit 3f84cd3

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/Symfony/Component/Templating/DelegatingEngine.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public function supports($name)
114114
*
115115
* @api
116116
*/
117-
protected function getEngine($name)
117+
public function getEngine($name)
118118
{
119119
foreach ($this->engines as $engine) {
120120
if ($engine->supports($name)) {

src/Symfony/Component/Templating/Tests/DelegatingEngineTest.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,29 @@ public function testSupportsWithNoSupportedEngine()
104104
$this->assertFalse($delegatingEngine->supports('template.php'));
105105
}
106106

107+
public function testGetExistingEngine()
108+
{
109+
$firstEngine = $this->getEngineMock('template.php', false);
110+
$secondEngine = $this->getEngineMock('template.php', true);
111+
112+
$delegatingEngine = new DelegatingEngine(array($firstEngine, $secondEngine));
113+
114+
$this->assertSame($secondEngine, $delegatingEngine->getEngine('template.php', array('foo' => 'bar')));
115+
}
116+
117+
/**
118+
* @expectedException \RuntimeException
119+
* @expectedExceptionMessage No engine is able to work with the template "template.php"
120+
*/
121+
public function testGetInvalidEngine()
122+
{
123+
$firstEngine = $this->getEngineMock('template.php', false);
124+
$secondEngine = $this->getEngineMock('template.php', false);
125+
126+
$delegatingEngine = new DelegatingEngine(array($firstEngine, $secondEngine));
127+
$delegatingEngine->getEngine('template.php', array('foo' => 'bar'));
128+
}
129+
107130
private function getEngineMock($template, $supports)
108131
{
109132
$engine = $this->getMock('Symfony\Component\Templating\EngineInterface');

0 commit comments

Comments
 (0)