コード例 #1
0
ファイル: sfMailerTest.php プロジェクト: hunde/bsc
    $t->pass('->flushQueue() throws a LogicException exception if the delivery_strategy is not spool');
}
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'spool', 'spool_class' => 'TestSpool', 'spool_arguments' => array('TestMailMessage'), 'transport' => array('class' => 'TestMailerTransport')));
$transport = $mailer->getRealtimeTransport();
$spool = $mailer->getTransport()->getSpool();
$mailer->composeAndSend('*****@*****.**', '*****@*****.**', 'Subject', 'Body');
$t->is($spool->getQueuedCount(), 1, '->flushQueue() sends messages in the spool');
$t->is($transport->getSentCount(), 0, '->flushQueue() sends messages in the spool');
$mailer->flushQueue();
$t->is($spool->getQueuedCount(), 0, '->flushQueue() sends messages in the spool');
$t->is($transport->getSentCount(), 1, '->flushQueue() sends messages in the spool');
// ->sendNextImmediately()
$t->diag('->sendNextImmediately()');
$mailer = new sfMailer($dispatcher, array('logging' => true, 'delivery_strategy' => 'spool', 'spool_class' => 'TestSpool', 'spool_arguments' => array('TestMailMessage'), 'transport' => array('class' => 'TestMailerTransport')));
$transport = $mailer->getRealtimeTransport();
$spool = $mailer->getTransport()->getSpool();
$t->is($mailer->sendNextImmediately(), $mailer, '->sendNextImmediately() implements a fluid interface');
$mailer->composeAndSend('*****@*****.**', '*****@*****.**', 'Subject', 'Body');
$t->is($spool->getQueuedCount(), 0, '->sendNextImmediately() bypasses the spool');
$t->is($transport->getSentCount(), 1, '->sendNextImmediately() bypasses the spool');
$transport->reset();
$spool->reset();
$mailer->composeAndSend('*****@*****.**', '*****@*****.**', 'Subject', 'Body');
$t->is($spool->getQueuedCount(), 1, '->sendNextImmediately() bypasses the spool but only for the very next message');
$t->is($transport->getSentCount(), 0, '->sendNextImmediately() bypasses the spool but only for the very next message');
// ->getDeliveryAddress() ->setDeliveryAddress()
$t->diag('->getDeliveryAddress() ->setDeliveryAddress()');
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'none'));
$mailer->setDeliveryAddress('*****@*****.**');
$t->is($mailer->getDeliveryAddress(), '*****@*****.**', '->setDeliveryAddress() sets the delivery address for the single_address strategy');
// ->getLogger() ->setLogger()