bug #9719 [TwigBundle] fix configuration tree for paths (mdavis1982, cordoval)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #9719). Discussion ---------- [TwigBundle] fix configuration tree for paths | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #8171 | License | MIT | Doc PR | na This is a joint effort with @mdavis1982 and @cordoval 👶 pairing up and warming for hacking day in Warsaw Commits -------9aa88e4
added regression test4201d41
fix issue #8171 on configuration tree for twig extension -- pairing up with @cordoval
This commit is contained in:
commit
819bb2901f
@ -136,6 +136,7 @@ class Configuration implements ConfigurationInterface
|
||||
->scalarNode('optimizations')->end()
|
||||
->arrayNode('paths')
|
||||
->normalizeKeys(false)
|
||||
->useAttributeAsKey('paths')
|
||||
->beforeNormalization()
|
||||
->always()
|
||||
->then(function ($paths) {
|
||||
|
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
$container->loadFromExtension('twig', array(
|
||||
'paths' => array(
|
||||
'namespaced_path3' => 'namespace3',
|
||||
),
|
||||
));
|
@ -22,7 +22,7 @@ $container->loadFromExtension('twig', array(
|
||||
'paths' => array(
|
||||
'path1',
|
||||
'path2',
|
||||
'namespaced_path1' => 'namespace',
|
||||
'namespaced_path2' => 'namespace',
|
||||
'namespaced_path1' => 'namespace1',
|
||||
'namespaced_path2' => 'namespace2',
|
||||
),
|
||||
));
|
||||
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:twig="http://symfony.com/schema/dic/twig"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
|
||||
http://symfony.com/schema/dic/twig http://symfony.com/schema/dic/twig/twig-1.0.xsd">
|
||||
|
||||
<twig:config auto-reload="true" autoescape="true" base-template-class="stdClass" cache="/tmp" charset="ISO-8859-1" debug="true" strict-variables="true">
|
||||
<twig:path namespace="namespace3">namespaced_path3</twig:path>
|
||||
</twig:config>
|
||||
</container>
|
@ -15,7 +15,7 @@
|
||||
<twig:global key="pi">3.14</twig:global>
|
||||
<twig:path>path1</twig:path>
|
||||
<twig:path>path2</twig:path>
|
||||
<twig:path namespace="namespace">namespaced_path1</twig:path>
|
||||
<twig:path namespace="namespace">namespaced_path2</twig:path>
|
||||
<twig:path namespace="namespace1">namespaced_path1</twig:path>
|
||||
<twig:path namespace="namespace2">namespaced_path2</twig:path>
|
||||
</twig:config>
|
||||
</container>
|
||||
|
@ -0,0 +1,3 @@
|
||||
twig:
|
||||
paths:
|
||||
namespaced_path3: namespace3
|
@ -17,5 +17,5 @@ twig:
|
||||
paths:
|
||||
path1: ''
|
||||
path2: ''
|
||||
namespaced_path1: namespace
|
||||
namespaced_path2: namespace
|
||||
namespaced_path1: namespace1
|
||||
namespaced_path2: namespace2
|
||||
|
@ -145,6 +145,7 @@ class TwigExtensionTest extends TestCase
|
||||
$container = $this->createContainer();
|
||||
$container->registerExtension(new TwigExtension());
|
||||
$this->loadFromFile($container, 'full', $format);
|
||||
$this->loadFromFile($container, 'extra', $format);
|
||||
$this->compileContainer($container);
|
||||
|
||||
$def = $container->getDefinition('twig.loader.filesystem');
|
||||
@ -160,8 +161,9 @@ class TwigExtensionTest extends TestCase
|
||||
$this->assertEquals(array(
|
||||
array('path1'),
|
||||
array('path2'),
|
||||
array('namespaced_path1', 'namespace'),
|
||||
array('namespaced_path2', 'namespace'),
|
||||
array('namespaced_path1', 'namespace1'),
|
||||
array('namespaced_path2', 'namespace2'),
|
||||
array('namespaced_path3', 'namespace3'),
|
||||
array(__DIR__.'/Fixtures/Resources/TwigBundle/views', 'Twig'),
|
||||
array(realpath(__DIR__.'/../..').'/Resources/views', 'Twig'),
|
||||
array(__DIR__.'/Fixtures/Resources/views'),
|
||||
|
@ -16,7 +16,6 @@ use Symfony\Component\Finder\Adapter;
|
||||
|
||||
class FinderTest extends Iterator\RealIteratorTestCase
|
||||
{
|
||||
|
||||
public function testCreate()
|
||||
{
|
||||
$this->assertInstanceOf('Symfony\Component\Finder\Finder', Finder::create());
|
||||
@ -796,7 +795,7 @@ class FinderTest extends Iterator\RealIteratorTestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Searching in multiple locations with sub directories involves
|
||||
* AppendIterator which does an unnecessary rewind which leaves
|
||||
* FilterIterator with inner FilesystemIterator in an invalid state.
|
||||
|
Reference in New Issue
Block a user