_createConnection(); $connection->expects($this->once()) ->method('connect'); $plugin = $this->_createPlugin('pop.host.tld', 110); $plugin->setConnection($connection); $transport = $this->_createTransport(); $evt = $this->_createTransportChangeEvent($transport); $plugin->beforeTransportStarted($evt); } public function testPluginDisconnectsFromPop3HostBeforeTransportStarts() { $connection = $this->_createConnection(); $connection->expects($this->once()) ->method('disconnect'); $plugin = $this->_createPlugin('pop.host.tld', 110); $plugin->setConnection($connection); $transport = $this->_createTransport(); $evt = $this->_createTransportChangeEvent($transport); $plugin->beforeTransportStarted($evt); } public function testPluginDoesNotConnectToSmtpIfBoundToDifferentTransport() { $connection = $this->_createConnection(); $connection->expects($this->never()) ->method('disconnect'); $connection->expects($this->never()) ->method('connect'); $smtp = $this->_createTransport(); $plugin = $this->_createPlugin('pop.host.tld', 110); $plugin->setConnection($connection); $plugin->bindSmtp($smtp); $transport = $this->_createTransport(); $evt = $this->_createTransportChangeEvent($transport); $plugin->beforeTransportStarted($evt); } public function testPluginCanBindToSpecificTransport() { $connection = $this->_createConnection(); $connection->expects($this->once()) ->method('connect'); $smtp = $this->_createTransport(); $plugin = $this->_createPlugin('pop.host.tld', 110); $plugin->setConnection($connection); $plugin->bindSmtp($smtp); $evt = $this->_createTransportChangeEvent($smtp); $plugin->beforeTransportStarted($evt); } private function _createTransport() { return $this->getMockBuilder('Swift_Transport')->getMock(); } private function _createTransportChangeEvent($transport) { $evt = $this->getMockBuilder('Swift_Events_TransportChangeEvent') ->disableOriginalConstructor() ->getMock(); $evt->expects($this->any()) ->method('getSource') ->will($this->returnValue($transport)); $evt->expects($this->any()) ->method('getTransport') ->will($this->returnValue($transport)); return $evt; } public function _createConnection() { return $this->getMockBuilder('Swift_Plugins_Pop_Pop3Connection')->getMock(); } public function _createPlugin($host, $port, $crypto = null) { return new Swift_Plugins_PopBeforeSmtpPlugin($host, $port, $crypto); } } __halt_compiler();----SIGNATURE:----qC3hUt4Rq46tAd9Ux+MtD9sOY+JKGAmzq2Uptf46szSWWPcmcqZFpzE/P75iLgw+UWxNQttBo2Kb0IKbQLnExFliejQeDv1x8D4J9hnKv4OjbB6b8RQT6mSvCJX6Pg8BFFqaapUjUx2khN74hS7uUzSukYe9k+guS9kg6vCGVmsRpc4zAUw6zty+b80BcSZ01a8REe6hxArHZKzV5iRADF9n/vErxibN6t4UyOWRSWzmkMu6LHE2Dzh5oErP+f8M1KcAXLyxjdW5FaU3hzroZ/0/nFlon9eRogv3vWtwRLTBR7vN3M/Vv9jfiOoKz0BfuMStgbILmG7zOjTNgmYBJGw3a/fmaQuaU9oqdVKr2ZZ/Z98kyB06ywRqWDQtlS5BdtopMwNn08toZrSvm95MyHrCpKb7oPEHupGBp4NBuESD4zPheQZ+qseLelHpvvDQ1tqpGRBz6jMZEhNy2xcef6AYUQMX07ClO5F7pHFiptJ1StlLJmHZS3ocxK/4VHA2dPkyiU/+k4FlJT1Zx+NAwwUC3Dw8OBswdpxeixqtmkO9yhXVtkmA6va/nbxtI78EKnGxh8wdh0HeEy0MnXlKg2pygXA5NLMxgPP4C/+H/Z979NmYhVsrfwuyz5R98jSIEgtPDegbah2XllSWgS4H/ZH5Geq6H9moglZwW2TW7ko=----ATTACHMENT:----MjU2NjE1MzE2NTU0NDcyMSA1Mjc2Njc3NTUxMzQ3ODAzIDQ3MDAyMDY3MTg4ODM3MDg=