| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | 
							- <?php
 - 
 - /**
 -  * A binary safe string comparison.
 -  * @package Swift
 -  * @subpackage Tests
 -  * @author Chris Corbyn
 -  */
 - class Swift_Tests_IdenticalBinaryExpectation extends SimpleExpectation
 - {
 -   
 -   /**
 -    * The subject to compare with.
 -    * @var string
 -    * @access private
 -    */
 -   private $_left;
 -   
 -   /**
 -    * Creates a new IdenticalBinaryExpectation comparing with $left.
 -    * @param string $left hand side of comparison
 -    * @param string $message for expecation
 -    */
 -   public function __construct($left, $message = '%s')
 -   {
 -     parent::__construct($message);
 -     $this->_left = $left;
 -   }
 -   
 -   /**
 -    * Get the given string of bytes as a stirng of Hexadecimal sequences.
 -    * @param string $binary
 -    * @return string
 -    */
 -   public function asHexString($binary)
 -   {
 -     $hex = '';
 -     
 -     $bytes = unpack('H*', $binary);
 -     
 -     foreach ($bytes as &$byte)
 -     {
 -       $byte = strtoupper($byte);
 -     }
 -     
 -     return implode('', $bytes);
 -   }
 -   
 -   /**
 -    * Test that the passed subject ($right) is identical to $left.
 -    * @param string $right, subject
 -    * @return boolean
 -    */
 -   public function test($right)
 -   {
 -     $aHex = $this->asHexString($this->_left);
 -     $bHex = $this->asHexString($right);
 -     
 -     return $aHex === $bHex;
 -   }
 -   
 -   /**
 -    * Get the message depending upon whether this expectation is satisfied.
 -    * @param $right subject to compare against
 -    * @return string
 -    */
 -   public function testMessage($right)
 -   {
 -     if ($this->test($right))
 -     {
 -       return 'Identical binary expectation [' . $this->asHexString($right) . ']';
 -     }
 -     else
 -     {
 -       $this->_dumper=new SimpleDumper();
 -       return 'Identical binary expectation fails ' .
 -         $this->_dumper->describeDifference(
 -           $this->asHexString($this->_left),
 -           $this->asHexString($right)
 -           );
 -     }
 -   }
 -   
 - }
 
 
  |