Browse Source

[MonologBundle] Fix config definitions, remove now-redundant tests

lenar 14 years ago
parent
commit
b734a63b81

+ 6 - 5
src/Symfony/Bundle/MonologBundle/DependencyInjection/Configuration.php

@@ -43,6 +43,7 @@ class Configuration implements ConfigurationInterface
                     ->canBeUnset()
                     ->useAttributeAsKey('name')
                     ->prototype('array')
+                        ->fixXmlConfig('member')
                         ->canBeUnset()
                         ->children()
                             ->scalarNode('type')
@@ -65,7 +66,11 @@ class Configuration implements ConfigurationInterface
                             ->booleanNode('stop_buffering')->defaultTrue()->end()// fingers_crossed
                             ->scalarNode('buffer_size')->defaultValue(0)->end() // fingers_crossed and buffer
                             ->scalarNode('handler')->end() // fingers_crossed and buffer
-                            ->arrayNode('members')->prototype('scalar')->end()->end() // group
+                            ->arrayNode('members') // group
+                                ->canBeUnset()
+                                ->performNoDeepMerging()
+                                ->prototype('scalar')->end()
+                            ->end()
                             ->scalarNode('from_email')->end() // swift_mailer and native_mailer
                             ->scalarNode('to_email')->end() // swift_mailer and native_mailer
                             ->scalarNode('subject')->end() // swift_mailer and native_mailer
@@ -77,10 +82,6 @@ class Configuration implements ConfigurationInterface
                             ->ifTrue(function($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type']) && 1 !== count($v['handler']); })
                             ->thenInvalid('The handler has to be specified to use a FingersCrossedHandler or BufferHandler')
                         ->end()
-                        ->validate()
-                            ->ifTrue(function($v) { return 'group' === $v['type'] && count($v['members']) < 2; })
-                            ->thenInvalid('At least two members have to be specified to use a GroupHandler')
-                        ->end()
                         ->validate()
                             ->ifTrue(function($v) { return 'swift_mailer' === $v['type'] && empty($v['email_prototype']) && (empty($v['from_email']) || empty($v['to_email']) || empty($v['subject'])); })
                             ->thenInvalid('The sender, recipient and subject or an email prototype have to be specified to use a SwiftMailerHandler')

+ 0 - 22
src/Symfony/Bundle/MonologBundle/Tests/DependencyInjection/MonologExtensionTest.php

@@ -221,28 +221,6 @@ class MonologExtensionTest extends TestCase
         $loader->load(array(array('handlers' => array('main' => array('type' => 'buffer')))), $container);
     }
 
-    /**
-     * @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
-     */
-    public function testExceptionWhenUsingGroupWithoutMembers()
-    {
-        $container = new ContainerBuilder();
-        $loader = new MonologExtension();
-
-        $loader->load(array(array('handlers' => array('main' => array('type' => 'group')))), $container);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
-     */
-    public function testExceptionWhenUsingGroupWithOnlyOneMember()
-    {
-        $container = new ContainerBuilder();
-        $loader = new MonologExtension();
-
-        $loader->load(array(array('handlers' => array('main' => array('type' => 'group', 'members' => array('test'))))), $container);
-    }
-
     /**
      * @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
      */