Fixed spool handling

This commit is contained in:
Christophe Coevoet 2011-02-18 02:03:51 +01:00 committed by Fabien Potencier
parent b3460653bc
commit 76262b2ccc
3 changed files with 15 additions and 1 deletions

View File

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

View File

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

View File

@ -27,8 +27,21 @@ class SwiftmailerExtensionTest extends TestCase
$loader->load(array(array('transport' => 'sendmail')), $container); $loader->load(array(array('transport' => 'sendmail')), $container);
$this->assertEquals('sendmail', $container->getParameter('swiftmailer.transport.name'), '->mailerLoad() overrides existing configuration options'); $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); $loader->load(array(array()), $container);
$this->assertEquals('smtp', $container->getParameter('swiftmailer.transport.name'), '->mailerLoad() provides default values for configuration options'); $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'));
}
} }