Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CallTimesPrediction.php

function CallTimesPrediction::check

Overrides PredictionInterface::check

File

vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php, line 41

Class

CallTimesPrediction
Tests that there was exact amount of calls made.

Namespace

Prophecy\Prediction

Code

public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) {
    if ($this->times == count($calls)) {
        return;
    }
    $methodCalls = $object->findProphecyMethodCalls($method->getMethodName(), new ArgumentsWildcard(array(
        new AnyValuesToken(),
    )));
    if (count($calls)) {
        $message = sprintf("Expected exactly %d calls that match:\n" . "  %s->%s(%s)\n" . "but %d were made:\n%s", $this->times, get_class($object->reveal()), $method->getMethodName(), $method->getArgumentsWildcard(), count($calls), $this->util
            ->stringifyCalls($calls));
    }
    elseif (count($methodCalls)) {
        $message = sprintf("Expected exactly %d calls that match:\n" . "  %s->%s(%s)\n" . "but none were made.\n" . "Recorded `%s(...)` calls:\n%s", $this->times, get_class($object->reveal()), $method->getMethodName(), $method->getArgumentsWildcard(), $method->getMethodName(), $this->util
            ->stringifyCalls($methodCalls));
    }
    else {
        $message = sprintf("Expected exactly %d calls that match:\n" . "  %s->%s(%s)\n" . "but none were made.", $this->times, get_class($object->reveal()), $method->getMethodName(), $method->getArgumentsWildcard());
    }
    throw new UnexpectedCallsCountException($message, $method, $this->times, $calls);
}
RSS feed
Powered by Drupal