fix link format handling with disabled templating
This commit is contained in:
parent
c11c121e2b
commit
91b4d1d3af
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\DebugBundle\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
|
||||
/**
|
||||
* Registers the file link format for the {@link DumpDataCollector}.
|
||||
*
|
||||
* @author Christian Flothmann <christian.flothmann@xabbuh.de>
|
||||
*/
|
||||
class DumpDataCollectorPass implements CompilerPassInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function process(ContainerBuilder $container)
|
||||
{
|
||||
if (!$container->hasDefinition('data_collector.dump')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$definition = $container->getDefinition('data_collector.dump');
|
||||
|
||||
if ($container->hasParameter('templating.helper.code.file_link_format')) {
|
||||
$definition->replaceArgument(1, $container->getParameter('templating.helper.code.file_link_format'));
|
||||
}
|
||||
}
|
||||
}
|
@ -13,7 +13,7 @@
|
||||
<service id="data_collector.dump" class="Symfony\Component\HttpKernel\DataCollector\DumpDataCollector">
|
||||
<tag name="data_collector" id="dump" template="@Debug/Profiler/dump.html.twig" />
|
||||
<argument type="service" id="debug.stopwatch" on-invalid="ignore" />
|
||||
<argument>%templating.helper.code.file_link_format%</argument>
|
||||
<argument>null</argument><!-- %templating.helper.code.file_link_format% -->
|
||||
</service>
|
||||
|
||||
<service id="debug.dump_listener" class="Symfony\Component\HttpKernel\EventListener\DumpListener">
|
||||
|
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\DebugBundle\Tests\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Bundle\DebugBundle\DependencyInjection\Compiler\DumpDataCollectorPass;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Definition;
|
||||
|
||||
class DumpDataCollectorPassTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testProcessWithFileLinkFormatParameter()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$container->addCompilerPass(new DumpDataCollectorPass());
|
||||
$container->setParameter('templating.helper.code.file_link_format', 'file-link-format');
|
||||
|
||||
$definition = new Definition('Symfony\Component\HttpKernel\DataCollector\DumpDataCollector', array(null, null));
|
||||
$container->setDefinition('data_collector.dump', $definition);
|
||||
|
||||
$container->compile();
|
||||
|
||||
$this->assertSame('file-link-format', $definition->getArgument(1));
|
||||
}
|
||||
|
||||
public function testProcessWithoutFileLinkFormatParameter()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$container->addCompilerPass(new DumpDataCollectorPass());
|
||||
|
||||
$definition = new Definition('Symfony\Component\HttpKernel\DataCollector\DumpDataCollector', array(null, null));
|
||||
$container->setDefinition('data_collector.dump', $definition);
|
||||
|
||||
$container->compile();
|
||||
|
||||
$this->assertNull($definition->getArgument(1));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user