Quellcode durchsuchen

Fixed spool handling

Christophe Coevoet vor 14 Jahren
Ursprung
Commit
76262b2ccc

+ 1 - 0
src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php

@@ -82,6 +82,7 @@ class SwiftMailerExtension extends Extension
             $container->setAlias('swiftmailer.transport.real', 'swiftmailer.transport.'.$transport);
             $container->setAlias('swiftmailer.transport', 'swiftmailer.transport.spool');
             $container->setAlias('swiftmailer.spool', 'swiftmailer.spool.'.$type);
+            $container->getDefinition('swiftmailer.spool.file')->setArgument(0, '%swiftmailer.spool.file.path%');
 
             foreach (array('path') as $key) {
                 $container->setParameter('swiftmailer.spool.'.$type.'.'.$key, $config['spool'][$key]);

+ 1 - 1
src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml

@@ -81,7 +81,7 @@
     </service>
 
     <service id="swiftmailer.spool.file" class="%swiftmailer.spool.file.class%" public="false">
-      <argument>%swiftmailer.spool.file.path%</argument>
+      <argument />
     </service>
 
     <service id="swiftmailer.plugin.redirecting" class="%swiftmailer.plugin.redirecting.class%" public="false">

+ 13 - 0
src/Symfony/Bundle/SwiftmailerBundle/Tests/DependencyInjection/SwiftmailerExtensionTest.php

@@ -27,8 +27,21 @@ class SwiftmailerExtensionTest extends TestCase
 
         $loader->load(array(array('transport' => 'sendmail')), $container);
         $this->assertEquals('sendmail', $container->getParameter('swiftmailer.transport.name'), '->mailerLoad() overrides existing configuration options');
+        $this->assertEquals('swiftmailer.transport.sendmail', (string) $container->getAlias('swiftmailer.transport'));
 
         $loader->load(array(array()), $container);
         $this->assertEquals('smtp', $container->getParameter('swiftmailer.transport.name'), '->mailerLoad() provides default values for configuration options');
+        $this->assertEquals('swiftmailer.transport.smtp', (string) $container->getAlias('swiftmailer.transport'));
     }
+
+    public function testSpool()
+    {
+        $container = new ContainerBuilder();
+        $loader = new SwiftmailerExtension();
+
+        $loader->load(array(array('spool' => array ('enabled' => true))), $container);
+        $this->assertEquals('swiftmailer.transport.spool', (string) $container->getAlias('swiftmailer.transport'));
+        $this->assertEquals('swiftmailer.transport.smtp', (string) $container->getAlias('swiftmailer.transport.real'));
+    }
+
 }