Changeset 32416
- Timestamp:
- 03/30/11 19:15:05 (2 years ago)
- Files:
-
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php (modified) (2 diffs)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php (modified) (4 diffs)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml (modified) (2 diffs)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml (modified) (2 diffs)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/templating.xml (modified) (1 diff)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/templating_php.xml (modified) (1 diff)
- branches/2.0/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php (modified) (2 diffs)
- branches/2.0/src/Symfony/Component/HttpFoundation/Session.php (modified) (2 diffs)
- branches/2.0/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/2.0/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
r32345 r32416 144 144 return $v; 145 145 }) 146 ->end() 146 ->end() 147 147 ->children() 148 148 ->booleanNode('auto_start')->end() 149 149 ->scalarNode('class')->end() 150 ->scalarNode('default_locale')-> end()150 ->scalarNode('default_locale')->defaultValue('en')->end() 151 151 ->scalarNode('storage_id')->defaultValue('native')->end() 152 152 // NativeSessionStorage options … … 175 175 ->canBeUnset() 176 176 ->children() 177 ->scalarNode('assets_version')-> end()177 ->scalarNode('assets_version')->defaultValue(null)->end() 178 178 ->end() 179 179 ->fixXmlConfig('assets_base_url') branches/2.0/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
r32369 r32416 75 75 $container->getDefinition('error_handler')->setMethodCalls(array()); 76 76 } else { 77 $container->getDefinition('error_handler')->addMethodCall('register', array()); 78 $container->setParameter('error_handler.level', $config['error_handler']); 77 $container 78 ->getDefinition('error_handler')->addMethodCall('register', array()) 79 ->setParameter(0, $config['error_handler']) 80 ; 79 81 } 80 82 } … … 294 296 } 295 297 296 if (isset($config['default_locale'])) { 297 $container->setParameter('session.default_locale', $config['default_locale']); 298 } 298 $container->getDefinition('session')->setArgument(1, $config['default_locale']); 299 299 300 300 $container->setAlias('session.storage', 'session.storage.'.$config['storage_id']); … … 329 329 if ($container->getParameter('kernel.debug')) { 330 330 $loader->load('templating_debug.xml'); 331 }332 333 if (isset($config['assets_version'])) {334 $container->setParameter('templating.assets.version', $config['assets_version']);335 }336 337 if (isset($config['assets_base_urls'])) {338 $container->setParameter('templating.assets.base_urls', $config['assets_base_urls']);339 331 } 340 332 … … 346 338 )); 347 339 } 348 $container->getDefinition('templating.helper.assets')->setArgument(3, $packages); 340 $container 341 ->getDefinition('templating.helper.assets') 342 ->setArgument(1, isset($config['assets_base_urls']) ? $config['assets_base_urls'] : array()) 343 ->setArgument(2, $config['assets_version']) 344 ->setArgument(3, $packages) 345 ; 349 346 350 347 if (!empty($config['loaders'])) { branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml
r32378 r32416 9 9 <parameter key="http_kernel.class">Symfony\Bundle\FrameworkBundle\HttpKernel</parameter> 10 10 <parameter key="error_handler.class">Symfony\Component\HttpKernel\Debug\ErrorHandler</parameter> 11 <parameter key="error_handler.level">null</parameter>12 11 <parameter key="filesystem.class">Symfony\Component\HttpKernel\Util\Filesystem</parameter> 13 12 <parameter key="cache_warmer.class">Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate</parameter> … … 22 21 23 22 <service id="error_handler" class="%error_handler.class%" public="false"> 24 <argument >%error_handler.level%</argument>23 <argument /> <!-- level (null by default) --> 25 24 </service> 26 25 branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml
r32184 r32416 7 7 <parameters> 8 8 <parameter key="session.class">Symfony\Component\HttpFoundation\Session</parameter> 9 <parameter key="session.default_locale">en</parameter>10 9 <parameter key="session.storage.native.class">Symfony\Component\HttpFoundation\SessionStorage\NativeSessionStorage</parameter> 11 10 <parameter key="session.storage.native.options" type="collection" /> … … 19 18 <service id="session" class="%session.class%"> 20 19 <argument type="service" id="session.storage" /> 21 <argument type="collection"> 22 <argument key="default_locale">%session.default_locale%</argument> 23 </argument> 20 <argument /> <!-- default locale --> 24 21 </service> 25 22 branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/templating.xml
r32349 r32416 14 14 <parameter key="templating.loader.cache.class">Symfony\Component\Templating\Loader\CacheLoader</parameter> 15 15 <parameter key="templating.loader.chain.class">Symfony\Component\Templating\Loader\ChainLoader</parameter> 16 <parameter key="templating.assets.version">null</parameter>17 <parameter key="templating.assets.base_urls" type="collection"></parameter>18 16 </parameters> 19 17 branches/2.0/src/Symfony/Bundle/FrameworkBundle/Resources/config/templating_php.xml
r32369 r32416 36 36 <tag name="templating.helper" alias="assets" /> 37 37 <argument type="service" id="request" strict="false" /> 38 <argument >%templating.assets.base_urls%</argument>39 <argument >%templating.assets.version%</argument>40 <argument type="collection" /> 38 <argument type="collection" /> <!-- assets base URLs --> 39 <argument /> <!-- assets version --> 40 <argument type="collection" /> <!-- packages --> 41 41 </service> 42 42 branches/2.0/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
r32398 r32416 73 73 74 74 $this->assertTrue($container->hasDefinition('session'), '->registerSessionConfiguration() loads session.xml'); 75 $this->assertEquals('fr', $container->getParameter('session.default_locale')); 75 $arguments = $container->getDefinition('session')->getArguments(); 76 $this->assertEquals('fr', $arguments[1]); 76 77 $this->assertTrue($container->getDefinition('session')->hasMethodCall('start')); 77 78 $this->assertEquals('Session', $container->getParameter('session.class')); … … 104 105 105 106 $this->assertTrue($container->hasDefinition('templating.name_parser'), '->registerTemplatingConfiguration() loads templating.xml'); 106 $this->assertEquals('SomeVersionScheme', $container->getParameter('templating.assets.version')); 107 $this->assertEquals(array('http://cdn.example.com'), $container->getParameter('templating.assets.base_urls')); 107 $arguments = $container->getDefinition('templating.helper.assets')->getArguments(); 108 $this->assertEquals('SomeVersionScheme', $arguments[2]); 109 $this->assertEquals(array('http://cdn.example.com'), $arguments[1]); 108 110 109 111 $this->assertTrue($container->getDefinition('templating.cache_warmer.template_paths')->hasTag('kernel.cache_warmer'), '->registerTemplatingConfiguration() tags templating cache warmer if cache warming is set'); branches/2.0/src/Symfony/Component/HttpFoundation/Session.php
r32233 r32416 25 25 protected $oldFlashes; 26 26 protected $started; 27 protected $ options;27 protected $defaultLocale; 28 28 29 29 /** 30 30 * Constructor. 31 31 * 32 * @param SessionStorageInterface $session A SessionStorageInterface instance33 * @param array $options An array of options34 */ 35 public function __construct(SessionStorageInterface $storage, array $options = array())32 * @param SessionStorageInterface $session A SessionStorageInterface instance 33 * @param string $defaultLocale The default locale 34 */ 35 public function __construct(SessionStorageInterface $storage, $defaultLocale = 'en') 36 36 { 37 37 $this->storage = $storage; 38 $this-> options = $options;38 $this->defaultLocale = $defaultLocale; 39 39 $this->attributes = array('_flash' => array(), '_locale' => $this->getDefaultLocale()); 40 40 $this->started = false; … … 289 289 public function serialize() 290 290 { 291 return serialize(array($this->storage, $this-> options));291 return serialize(array($this->storage, $this->defaultLocale)); 292 292 } 293 293 294 294 public function unserialize($serialized) 295 295 { 296 list($this->storage, $this-> options) = unserialize($serialized);296 list($this->storage, $this->defaultLocale) = unserialize($serialized); 297 297 $this->attributes = array(); 298 298 $this->started = false; 299 299 } 300 300 301 pr otectedfunction getDefaultLocale()302 { 303 return isset($this->options['default_locale']) ? $this->options['default_locale'] : 'en';301 private function getDefaultLocale() 302 { 303 return $this->defaultLocale; 304 304 } 305 305 } branches/2.0/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php
r32233 r32416 124 124 public function testSerialize() 125 125 { 126 $ options = array('foo' => 'bar');127 $this->session = new Session($this->storage, $ options);126 $defaultLocale = 'en'; 127 $this->session = new Session($this->storage, $defaultLocale); 128 128 129 $compare = serialize(array($this->storage, $ options));129 $compare = serialize(array($this->storage, $defaultLocale)); 130 130 131 131 $this->assertSame($compare, $this->session->serialize()); … … 133 133 $this->session->unserialize($compare); 134 134 135 $_ options = new \ReflectionProperty(get_class($this->session), 'options');136 $_ options->setAccessible(true);135 $_defaultLocale = new \ReflectionProperty(get_class($this->session), 'defaultLocale'); 136 $_defaultLocale->setAccessible(true); 137 137 138 138 $_storage = new \ReflectionProperty(get_class($this->session), 'storage'); 139 139 $_storage->setAccessible(true); 140 140 141 $this->assertEquals($_ options->getValue($this->session), $options, 'options match');141 $this->assertEquals($_defaultLocale->getValue($this->session), $defaultLocale, 'options match'); 142 142 $this->assertEquals($_storage->getValue($this->session), $this->storage, 'storage match'); 143 143 } … … 146 146 { 147 147 $this->storage = new ArraySessionStorage(); 148 $ options = array('foo' => 'bar');149 $this->session = new Session($this->storage, $ options);148 $defaultLocale = 'fr'; 149 $this->session = new Session($this->storage, $defaultLocale); 150 150 $this->session->set('foo', 'bar'); 151 151 152 152 $this->session->save(); 153 $compare = array('_symfony2' => array('_flash' => array() ,'_locale' => 'en', 'foo' => 'bar'));153 $compare = array('_symfony2' => array('_flash' => array(), '_locale' => 'fr', 'foo' => 'bar')); 154 154 155 155 $r = new \ReflectionObject($this->storage); … … 162 162 public function testLocale() 163 163 { 164 $this->assertSame('en', $this->session->getLocale(), 'default locale is en');164 $this->assertSame('en', $this->session->getLocale(), 'default locale is en'); 165 165 166 166 $this->session->set('_locale','de'); 167 167 168 $this->assertSame('de', $this->session->getLocale(), 'locale is de');168 $this->assertSame('de', $this->session->getLocale(), 'locale is de'); 169 169 170 170 $this->session = $this->getSession(); 171 171 $this->session->setLocale('fr'); 172 $this->assertSame('fr', $this->session->getLocale(), 'locale is fr');172 $this->assertSame('fr', $this->session->getLocale(), 'locale is fr'); 173 173 } 174 174