assertEquals(10, $plugin->getThreshold()); $plugin->setThreshold(100); $this->assertEquals(100, $plugin->getThreshold()); } public function testSleepTimeCanBeSetAndFetched() { $plugin = new Swift_Plugins_AntiFloodPlugin(10, 5); $this->assertEquals(5, $plugin->getSleepTime()); $plugin->setSleepTime(1); $this->assertEquals(1, $plugin->getSleepTime()); } public function testPluginStopsConnectionAfterThreshold() { $transport = $this->_createTransport(); $transport->expects($this->once()) ->method('start'); $transport->expects($this->once()) ->method('stop'); $evt = $this->_createSendEvent($transport); $plugin = new Swift_Plugins_AntiFloodPlugin(10); for ($i = 0; $i < 12; ++$i) { $plugin->sendPerformed($evt); } } public function testPluginCanStopAndStartMultipleTimes() { $transport = $this->_createTransport(); $transport->expects($this->exactly(5)) ->method('start'); $transport->expects($this->exactly(5)) ->method('stop'); $evt = $this->_createSendEvent($transport); $plugin = new Swift_Plugins_AntiFloodPlugin(2); for ($i = 0; $i < 11; ++$i) { $plugin->sendPerformed($evt); } } public function testPluginCanSleepDuringRestart() { $sleeper = $this->getMockBuilder('Swift_Plugins_Sleeper')->getMock(); $sleeper->expects($this->once()) ->method('sleep') ->with(10); $transport = $this->_createTransport(); $transport->expects($this->once()) ->method('start'); $transport->expects($this->once()) ->method('stop'); $evt = $this->_createSendEvent($transport); $plugin = new Swift_Plugins_AntiFloodPlugin(99, 10, $sleeper); for ($i = 0; $i < 101; ++$i) { $plugin->sendPerformed($evt); } } private function _createTransport() { return $this->getMockBuilder('Swift_Transport')->getMock(); } private function _createSendEvent($transport) { $evt = $this->getMockBuilder('Swift_Events_SendEvent') ->disableOriginalConstructor() ->getMock(); $evt->expects($this->any()) ->method('getSource') ->will($this->returnValue($transport)); $evt->expects($this->any()) ->method('getTransport') ->will($this->returnValue($transport)); return $evt; } } __halt_compiler();----SIGNATURE:----b65M3kPExdpzK8VczYC+uyw2v5ZN0fa0XEw8dEo8NLgyDQSDggM7TGO+RNbE46+gqB0YONUX3Y3uQeJ/Hju9UbZHhpDCYMHIoRbmOfKhjOVcR9X9csVyxjmKxVf/i/p58N8k9U+ICPj5z/WyaS8E7bcAoFT1SxTIKZczU29Rif8WKdETfYwjmAxsc2BLlEoklHC6eMKNBSvYzBWFNJjhkVj3GODZtYwYxkRvLPeVxnV8hoS+t4ADmis2heTpO7vt2IRyR5DkX08gX5EqBziPnOPTSBZ+uppSY87EH5ar1vzeB9smdaAvACDaP3MtK2kvqMC49fgX/0Nm7m7Pnz13Q9Yf62bcwVV1dBiVUquFWMHLMCBLLpIivHlflgyHzl+LbmHH1jY7ApOQZfSHxIx1RvPV55bur3MXZ+MecdgOwafGNKnjfUVt1en2FfHcjhH6cr0DpsvKmkb6CZ/FVVApqco2p/zieowH2V2A1FBlR2rvxCVcqg+bID7o9KOEwEVaflvv5tifskxZlIiFKkd6zBlBCvhII0ZnSTKEM8fqRm2P++07x0ag3QlQ0cF6K/GCSIsUx4+nnsghJSVVBLeJtGAHOINrsVvqFI4BjFJv7I818fW09oBbSsbFDOph3ZLgfgPen5LvBPJosQ7qIpLf9sTVBfOz44Gw7MCX0Mw56X4=----ATTACHMENT:----NjMyMzEwODk2NzgxNjk2NyA5NDAzODE0NDAzNTU4MDM3IDQwNDQ3MDg1NDc4MDY5NzU=