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');