Fixed notice in AddCacheWarmerPass if there is no cache warmer defined.

This commit is contained in:
Jakub Zalas 2012-05-24 23:58:50 +01:00
parent 8c6c86c9c9
commit 8da880c394
2 changed files with 24 additions and 0 deletions

View File

@ -37,6 +37,10 @@ class AddCacheWarmerPass implements CompilerPassInterface
$warmers[$priority][] = new Reference($id);
}
if (empty($warmers)) {
return;
}
// sort by priority and flatten
krsort($warmers);
$warmers = call_user_func_array('array_merge', $warmers);

View File

@ -69,4 +69,24 @@ class AddCacheWarmerPassTest extends \PHPUnit_Framework_TestCase
$addCacheWarmerPass = new AddCacheWarmerPass();
$addCacheWarmerPass->process($container);
}
public function testThatCacheWarmersMightBeNotDefined()
{
$definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
$container->expects($this->atLeastOnce())
->method('findTaggedServiceIds')
->will($this->returnValue(array()));
$container->expects($this->never())->method('getDefinition');
$container->expects($this->atLeastOnce())
->method('hasDefinition')
->with('cache_warmer')
->will($this->returnValue(true));
$definition->expects($this->never())->method('replaceArgument');
$addCacheWarmerPass = new AddCacheWarmerPass();
$addCacheWarmerPass->process($container);
}
}