| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- <?php
 - 
 - require_once 'Swift/Tests/SwiftUnitTestCase.php';
 - require_once 'Swift/Plugins/BandwidthMonitorPlugin.php';
 - require_once 'Swift/Events/SendEvent.php';
 - require_once 'Swift/Events/CommandEvent.php';
 - require_once 'Swift/Events/ResponseEvent.php';
 - require_once 'Swift/Mime/Message.php';
 - 
 - class Swift_Plugins_BandwidthMonitorPluginTest
 -   extends Swift_Tests_SwiftUnitTestCase
 - {
 -   
 -   public function setUp()
 -   {
 -     $this->_monitor = new Swift_Plugins_BandwidthMonitorPlugin();
 -   }
 -   
 -   public function testBytesOutIncreasesAccordingToMessageLength()
 -   {
 -     $message = $this->_createMessageWithByteCount(6);
 -     $evt = $this->_createSendEvent($message);
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesOut());
 -     $this->_monitor->sendPerformed($evt);
 -     $this->assertEqual(6, $this->_monitor->getBytesOut());
 -     $this->_monitor->sendPerformed($evt);
 -     $this->assertEqual(12, $this->_monitor->getBytesOut());
 -   }
 -   
 -   public function testBytesOutIncreasesWhenCommandsSent()
 -   {
 -     $evt = $this->_createCommandEvent("RCPT TO: <foo@bar.com>\r\n");
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesOut());
 -     $this->_monitor->commandSent($evt);
 -     $this->assertEqual(24, $this->_monitor->getBytesOut());
 -     $this->_monitor->commandSent($evt);
 -     $this->assertEqual(48, $this->_monitor->getBytesOut());
 -   }
 -   
 -   public function testBytesInIncreasesWhenResponsesReceived()
 -   {
 -     $evt = $this->_createResponseEvent("250 Ok\r\n");
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesIn());
 -     $this->_monitor->responseReceived($evt);
 -     $this->assertEqual(8, $this->_monitor->getBytesIn());
 -     $this->_monitor->responseReceived($evt);
 -     $this->assertEqual(16, $this->_monitor->getBytesIn());
 -   }
 -   
 -   public function testCountersCanBeReset()
 -   {
 -     $evt = $this->_createResponseEvent("250 Ok\r\n");
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesIn());
 -     $this->_monitor->responseReceived($evt);
 -     $this->assertEqual(8, $this->_monitor->getBytesIn());
 -     $this->_monitor->responseReceived($evt);
 -     $this->assertEqual(16, $this->_monitor->getBytesIn());
 -     
 -     $evt = $this->_createCommandEvent("RCPT TO: <foo@bar.com>\r\n");
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesOut());
 -     $this->_monitor->commandSent($evt);
 -     $this->assertEqual(24, $this->_monitor->getBytesOut());
 -     $this->_monitor->commandSent($evt);
 -     $this->assertEqual(48, $this->_monitor->getBytesOut());
 -     
 -     $this->_monitor->reset();
 -     
 -     $this->assertEqual(0, $this->_monitor->getBytesOut());
 -     $this->assertEqual(0, $this->_monitor->getBytesIn());
 -   }
 -   
 -   // -- Creation Methods
 -   
 -   private function _createSendEvent($message)
 -   {
 -     $evt = $this->_mock('Swift_Events_SendEvent');
 -     $this->_checking(Expectations::create()
 -       -> ignoring($evt)->getMessage() -> returns($message)
 -       );
 -     return $evt;
 -   }
 -   
 -   private function _createCommandEvent($command)
 -   {
 -     $evt = $this->_mock('Swift_Events_CommandEvent');
 -     $this->_checking(Expectations::create()
 -       -> ignoring($evt)->getCommand() -> returns($command)
 -       );
 -     return $evt;
 -   }
 -   
 -   private function _createResponseEvent($response)
 -   {
 -     $evt = $this->_mock('Swift_Events_ResponseEvent');
 -     $this->_checking(Expectations::create()
 -       -> ignoring($evt)->getResponse() -> returns($response)
 -       );
 -     return $evt;
 -   }
 -   
 -   private function _createMessageWithByteCount($bytes)
 -   {
 -     $this->_bytes = $bytes;
 -     $msg = $this->_mock('Swift_Mime_Message');
 -     $this->_checking(Expectations::create()
 -       -> ignoring($msg)->toByteStream(any()) -> calls(array($this, '_write'))
 -     );
 -     return $msg;
 -   }
 -   
 -   private $_bytes = 0;
 -   public function _write($invocation)
 -   {
 -     $args = $invocation->getArguments();
 -     $is = $args[0];
 -     for ($i = 0; $i < $this->_bytes; ++$i)
 -     {
 -       $is->write('x');
 -     }
 -   }
 -   
 - }
 
 
  |