_createTransport(); $message = $this->_createMessage(); $started = false; $transport->shouldReceive('isStarted') ->zeroOrMoreTimes() ->andReturnUsing(function () use (&$started) { return $started; }); $transport->shouldReceive('start') ->once() ->andReturnUsing(function () use (&$started) { $started = true; return; }); $mailer = $this->_createMailer($transport); $mailer->send($message); } public function testTransportIsOnlyStartedOnce() { $transport = $this->_createTransport(); $message = $this->_createMessage(); $started = false; $transport->shouldReceive('isStarted') ->zeroOrMoreTimes() ->andReturnUsing(function () use (&$started) { return $started; }); $transport->shouldReceive('start') ->once() ->andReturnUsing(function () use (&$started) { $started = true; return; }); $mailer = $this->_createMailer($transport); for ($i = 0; $i < 10; ++$i) { $mailer->send($message); } } public function testMessageIsPassedToTransport() { $transport = $this->_createTransport(); $message = $this->_createMessage(); $transport->shouldReceive('send') ->once() ->with($message, Mockery::any()); $mailer = $this->_createMailer($transport); $mailer->send($message); } public function testSendReturnsCountFromTransport() { $transport = $this->_createTransport(); $message = $this->_createMessage(); $transport->shouldReceive('send') ->once() ->with($message, Mockery::any()) ->andReturn(57); $mailer = $this->_createMailer($transport); $this->assertEquals(57, $mailer->send($message)); } public function testFailedRecipientReferenceIsPassedToTransport() { $failures = array(); $transport = $this->_createTransport(); $message = $this->_createMessage(); $transport->shouldReceive('send') ->once() ->with($message, $failures) ->andReturn(57); $mailer = $this->_createMailer($transport); $mailer->send($message, $failures); } public function testSendRecordsRfcComplianceExceptionAsEntireSendFailure() { $failures = array(); $rfcException = new Swift_RfcComplianceException('test'); $transport = $this->_createTransport(); $message = $this->_createMessage(); $message->shouldReceive('getTo') ->once() ->andReturn(array('foo&invalid' => 'Foo', 'bar@valid.tld' => 'Bar')); $transport->shouldReceive('send') ->once() ->with($message, $failures) ->andThrow($rfcException); $mailer = $this->_createMailer($transport); $this->assertEquals(0, $mailer->send($message, $failures), '%s: Should return 0'); $this->assertEquals(array('foo&invalid', 'bar@valid.tld'), $failures, '%s: Failures should contain all addresses since the entire message failed to compile'); } public function testRegisterPluginDelegatesToTransport() { $plugin = $this->_createPlugin(); $transport = $this->_createTransport(); $mailer = $this->_createMailer($transport); $transport->shouldReceive('registerPlugin') ->once() ->with($plugin); $mailer->registerPlugin($plugin); } private function _createPlugin() { return $this->getMockery('Swift_Events_EventListener')->shouldIgnoreMissing(); } private function _createTransport() { return $this->getMockery('Swift_Transport')->shouldIgnoreMissing(); } private function _createMessage() { return $this->getMockery('Swift_Mime_Message')->shouldIgnoreMissing(); } private function _createMailer(Swift_Transport $transport) { return new Swift_Mailer($transport); } } __halt_compiler();----SIGNATURE:----kZ91UZGzZuANQs/T3aGhYwQWbZpcHaKbivCg8iYYT8b2PP+J0JOn6e1ReXwLZfYYajAs87vSQAMoRfvqyPM4t65RtnqYD45vWPC0/KQk/HOXdrG4lFkai6Fi4pA41jFPmtjwMhSL4lILDTWK2HogPjVUttWBDpJywnW3AfDJcwD2jJ0YnDXvg5+KKxm9cGVJ9jU8K6+NRgM85/HhxLcb2Y7Zet4DAQF4PwidU/IQ8iscJYF2hQDz+6NQ817lWfCBIMsJ5jO8F00ciLdpGwJmVUwdtRAiWrlwWWlaVAWVFJFdAaKCLkRCQcvokSQOTNxCdynJJGJVxkgHjkeGpFojWkNTV/ZcVfG9uV9hZ1utOup7D7L4fZtpgAmVq+t5kNXFc5tpa2Pcc1+3PcYcbZfZ1NaawWO0IxMj6dbcm327hDdCz1+N9lIYxsNAPMVA9l+6X1jTzqMl9zBj8AKQcH8p4ZTuGmj6bOGmqrz5WI7JMDnYJ9aP84NQPRCT7Oq/dbNgUGaX+J/wELv5LDi59ojDvtnbiKDISuObOpMojMTNVk4UEHdWngvVt21ComY12vg0VrlV6v/fgqvdc2Rh4ozhNuaqrARLl8RAxmbSNaO3z0rT4LiUvEOJXzuUacXbierHcmhYo7VhMzjVvVP5/PO9JhyWVbOR34HHKlwf0zdErQc=----ATTACHMENT:----NzYxMTk4Mzg1ODc3OTEzOCAyNTI3OTE0NDY4NTUwNzYxIDU1NTYxOTc2MTg0Njc5OTM=