You are here

class PHPUnit_Framework_Constraint_StringMatches in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php \PHPUnit_Framework_Constraint_StringMatches

...

@since Class available since Release 3.5.0

Hierarchy

Expanded class hierarchy of PHPUnit_Framework_Constraint_StringMatches

File

vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php, line 18

View source
class PHPUnit_Framework_Constraint_StringMatches extends PHPUnit_Framework_Constraint_PCREMatch {

  /**
   * @var string
   */
  protected $string;

  /**
   * @param string $string
   */
  public function __construct($string) {
    parent::__construct($string);
    $this->pattern = $this
      ->createPatternFromFormat(preg_replace('/\\r\\n/', "\n", $string));
    $this->string = $string;
  }
  protected function failureDescription($other) {
    return 'format description matches text';
  }
  protected function additionalFailureDescription($other) {
    $from = preg_split('(\\r\\n|\\r|\\n)', $this->string);
    $to = preg_split('(\\r\\n|\\r|\\n)', $other);
    foreach ($from as $index => $line) {
      if (isset($to[$index]) && $line !== $to[$index]) {
        $line = $this
          ->createPatternFromFormat($line);
        if (preg_match($line, $to[$index]) > 0) {
          $from[$index] = $to[$index];
        }
      }
    }
    $this->string = implode("\n", $from);
    $other = implode("\n", $to);
    $differ = new Differ("--- Expected\n+++ Actual\n");
    return $differ
      ->diff($this->string, $other);
  }
  protected function createPatternFromFormat($string) {
    $string = str_replace(array(
      '%e',
      '%s',
      '%S',
      '%a',
      '%A',
      '%w',
      '%i',
      '%d',
      '%x',
      '%f',
      '%c',
    ), array(
      '\\' . DIRECTORY_SEPARATOR,
      '[^\\r\\n]+',
      '[^\\r\\n]*',
      '.+',
      '.*',
      '\\s*',
      '[+-]?\\d+',
      '\\d+',
      '[0-9a-fA-F]+',
      '[+-]?\\.?\\d+\\.?\\d*(?:[Ee][+-]?\\d+)?',
      '.',
    ), preg_quote($string, '/'));
    return '/^' . $string . '$/s';
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPUnit_Framework_Constraint::$exporter protected property
PHPUnit_Framework_Constraint::count public function Counts the number of constraint elements. 6
PHPUnit_Framework_Constraint::evaluate public function Evaluates the constraint for parameter $other 9
PHPUnit_Framework_Constraint::fail protected function Throws an exception for the given compared value and test description
PHPUnit_Framework_Constraint_PCREMatch::$pattern protected property
PHPUnit_Framework_Constraint_PCREMatch::matches protected function Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise. Overrides PHPUnit_Framework_Constraint::matches
PHPUnit_Framework_Constraint_PCREMatch::toString public function Returns a string representation of the constraint. Overrides PHPUnit_Framework_SelfDescribing::toString
PHPUnit_Framework_Constraint_StringMatches::$string protected property
PHPUnit_Framework_Constraint_StringMatches::additionalFailureDescription protected function Return additional failure description where needed Overrides PHPUnit_Framework_Constraint::additionalFailureDescription
PHPUnit_Framework_Constraint_StringMatches::createPatternFromFormat protected function
PHPUnit_Framework_Constraint_StringMatches::failureDescription protected function Returns the description of the failure Overrides PHPUnit_Framework_Constraint::failureDescription
PHPUnit_Framework_Constraint_StringMatches::__construct public function Overrides PHPUnit_Framework_Constraint_PCREMatch::__construct