Fixed assets_base_urls configuration

This commit is contained in:
Christophe Coevoet 2011-03-02 19:51:17 +01:00
parent 6790e45911
commit db168cc40d
3 changed files with 16 additions and 4 deletions

View File

@ -144,7 +144,19 @@ class Configuration
->arrayNode('templating') ->arrayNode('templating')
->canBeUnset() ->canBeUnset()
->scalarNode('assets_version')->end() ->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')->end()
->scalarNode('cache_warmer')->end() ->scalarNode('cache_warmer')->end()
->fixXmlConfig('engine') ->fixXmlConfig('engine')

View File

@ -90,10 +90,10 @@
<xsd:sequence> <xsd:sequence>
<xsd:element name="loader" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="loader" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="engine" type="templating_engine" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="engine" type="templating_engine" minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="assets-base-url" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="assets-version" type="xsd:string" /> <xsd:attribute name="assets-version" type="xsd:string" />
<xsd:attribute name="assets-base-urls" type="xsd:string" />
<xsd:attribute name="cache" type="xsd:string" /> <xsd:attribute name="cache" type="xsd:string" />
<xsd:attribute name="cache-warmer" type="cache_warmer" /> <xsd:attribute name="cache-warmer" type="cache_warmer" />
</xsd:complexType> </xsd:complexType>

View File

@ -75,7 +75,7 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertTrue($container->getDefinition('session')->hasMethodCall('start')); $this->assertTrue($container->getDefinition('session')->hasMethodCall('start'));
$this->assertEquals('Session', $container->getParameter('session.class')); $this->assertEquals('Session', $container->getParameter('session.class'));
$this->assertEquals('session.storage.native', (string) $container->getAlias('session.storage')); $this->assertEquals('session.storage.native', (string) $container->getAlias('session.storage'));
$options = $container->getParameter('session.storage.native.options'); $options = $container->getParameter('session.storage.native.options');
$this->assertEquals('_SYMFONY', $options['name']); $this->assertEquals('_SYMFONY', $options['name']);
$this->assertEquals(86400, $options['lifetime']); $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->assertTrue($container->hasDefinition('templating.name_parser'), '->registerTemplatingConfiguration() loads templating.xml');
$this->assertEquals('SomeVersionScheme', $container->getParameter('templating.assets.version')); $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->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'); $this->assertEquals('templating.locator.cached', (string) $container->getAlias('templating.locator'), '->registerTemplatingConfiguration() changes templating.locator alias to cached if cache warming is set');