Viewing file: IdenticalBinaryConstraint.php (1.21 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * A binary safe string comparison. * * @author Chris Corbyn */ class IdenticalBinaryConstraint extends \PHPUnit_Framework_Constraint { protected $value;
public function __construct($value) { $this->value = $value; }
/** * Evaluates the constraint for parameter $other. Returns TRUE if the * constraint is met, FALSE otherwise. * * @param mixed $other Value or object to evaluate. * * @return bool */ public function matches($other) { $aHex = $this->asHexString($this->value); $bHex = $this->asHexString($other);
return $aHex === $bHex; }
/** * Returns a string representation of the constraint. * * @return string */ public function toString() { return 'indentical binary'; }
/** * Get the given string of bytes as a stirng of Hexadecimal sequences. * * @param string $binary * * @return string */ private function asHexString($binary) { $hex = '';
$bytes = unpack('H*', $binary);
foreach ($bytes as &$byte) { $byte = strtoupper($byte); }
return implode('', $bytes); } }
|