public function PHPUnit_Framework_Constraint_IsIdentical::evaluate

Evaluates the constraint for parameter $other

If $returnResult is set to FALSE (the default), an exception is thrown in case of a failure. NULL is returned otherwise.

If $returnResult is TRUE, the result of the evaluation is returned as a boolean value instead: TRUE in case of success, FALSE in case of a failure.

Parameters

mixed $other Value or object to evaluate.:

string $description Additional information about the test:

bool $returnResult Whether to return a result or throw an exception:

Return value

mixed

Throws

PHPUnit_Framework_ExpectationFailedException

Overrides PHPUnit_Framework_Constraint::evaluate

File

drupal/core/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsIdentical.php, line 103

Class

PHPUnit_Framework_Constraint_IsIdentical
Constraint that asserts that one value is identical to another.

Code

public function evaluate($other, $description = '', $returnResult = FALSE) {
  if (is_double($this->value) && is_double($other) && !is_infinite($this->value) && !is_infinite($other) && !is_nan($this->value) && !is_nan($other)) {
    $success = abs($this->value - $other) < self::EPSILON;
  }
  else {
    $success = $this->value === $other;
  }
  if ($returnResult) {
    return $success;
  }
  if (!$success) {
    $f = NULL;

    // if both values are strings, make sure a diff is generated
    if (is_string($this->value) && is_string($other)) {
      $f = new PHPUnit_Framework_ComparisonFailure($this->value, $other, $this->value, $other);
    }
    $this
      ->fail($other, $description, $f);
  }
}