diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php index 5fd8712f9b..991b64ca45 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php @@ -144,7 +144,19 @@ class Configuration ->arrayNode('templating') ->canBeUnset() ->scalarNode('assets_version')->end() - ->scalarNode('assets_base_urls')->end() + ->fixXmlConfig('assets_base_url') + ->arrayNode('assets_base_urls') + ->beforeNormalization() + ->ifTrue(function($v){ return !is_array($v); }) + ->then(function($v){ return array($v); }) + ->end() + ->prototype('scalar') + ->beforeNormalization() + ->ifTrue(function($v) { return is_array($v) && isset($v['value']); }) + ->then(function($v){ return $v['value']; }) + ->end() + ->end() + ->end() ->scalarNode('cache')->end() ->scalarNode('cache_warmer')->end() ->fixXmlConfig('engine') diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd index 4a635a758e..dccaead2ba 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd @@ -90,10 +90,10 @@ + - diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php index b833aed970..fb1942de83 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -75,7 +75,7 @@ abstract class FrameworkExtensionTest extends TestCase $this->assertTrue($container->getDefinition('session')->hasMethodCall('start')); $this->assertEquals('Session', $container->getParameter('session.class')); $this->assertEquals('session.storage.native', (string) $container->getAlias('session.storage')); - + $options = $container->getParameter('session.storage.native.options'); $this->assertEquals('_SYMFONY', $options['name']); $this->assertEquals(86400, $options['lifetime']); @@ -103,7 +103,7 @@ abstract class FrameworkExtensionTest extends TestCase $this->assertTrue($container->hasDefinition('templating.name_parser'), '->registerTemplatingConfiguration() loads templating.xml'); $this->assertEquals('SomeVersionScheme', $container->getParameter('templating.assets.version')); - $this->assertEquals('http://cdn.example.com', $container->getParameter('templating.assets.base_urls')); + $this->assertEquals(array('http://cdn.example.com'), $container->getParameter('templating.assets.base_urls')); $this->assertTrue($container->getDefinition('templating.cache_warmer.template_paths')->hasTag('kernel.cache_warmer'), '->registerTemplatingConfiguration() tags templating cache warmer if cache warming is set'); $this->assertEquals('templating.locator.cached', (string) $container->getAlias('templating.locator'), '->registerTemplatingConfiguration() changes templating.locator alias to cached if cache warming is set');