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:----sy2tfrsPBT7zXKj1nV+wAROM4hd8O5xVnPCV+dIGf1tY7tAGMGqsLwrSuk63pyNmdrvcO9wlKf0bJwb0OdWIZIA9mtqQ/CCpeJA9+0fKqlgcm+LHAyZMADmwSmxRHVIZml/pa/7a3Un70XpymyZvpcIkYpYaL2Ij1YVdDWYPuur8gzgrhrnSaBWKxZcQTwaaY2UG4ROs3o/wlpSJn0TF3BGqPybGRJspT3RwPtUk/Un2bwOWzRcypsoNfIOPS/BrteRbXxVUlktm6ayyyvowB008piPYdRyRfQ7W5k9xJGPhE8LYP9ppZvCIkE1fFAQV0U2gsrq9gDLPymzCX8V0lHcsEwz3B+oDZdYsrEeeIY6r7T0HLBytY7d/UHHTSOuggTCC6/o97iBklyy4oAbSVKQiPbWinJNp2INUsiDA1ywOVe8BCeoABi4y1Fw9xAOEyZrjudb2BUK/hZM7LoPSs6u36Top9knO7IHpZkY3Cmb5UbmglpxB1p7Q45lK+bslnvuXl6Skz0BA3dqbiubKVO0Xnv98WaxhELB31ZvB3j4+i3UwD0086KmWxC3/iCgzfuc4LSBx7/121sV3jcV0P6MQTxAvYHKhb8CNGuzXj27NBT0QIJAEVDP8u5G+ORR4BzoDPUdhACKftnXalc8xl1iWvqoSlV/dgMieCBQsJP4=----ATTACHMENT:----NTkwMDk5NjkwNDc1ODg4OCAzMDc2NTA1MDI3MDM1MzkgNDUzNDkyMzI0MDcwNDczMg==