/** * @param PHPUnit_Framework_MockObject_Invocation $invocation * @return mixed */ public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation) { if ($this->invocationMatcher === NULL) { throw new PHPUnit_Framework_Exception('No invocation matcher is set'); } if ($this->methodNameMatcher === NULL) { throw new PHPUnit_Framework_Exception('No method matcher is set'); } if ($this->afterMatchBuilderId !== NULL) { $builder = $invocation->object->__phpunit_getInvocationMocker()->lookupId($this->afterMatchBuilderId); if (!$builder) { throw new PHPUnit_Framework_Exception(sprintf('No builder found for match builder identification <%s>', $this->afterMatchBuilderId)); } $matcher = $builder->getMatcher(); if ($matcher && $matcher->invocationMatcher->hasBeenInvoked()) { $this->afterMatchBuilderIsInvoked = TRUE; } } $this->invocationMatcher->invoked($invocation); try { if ($this->parametersMatcher !== NULL && !$this->parametersMatcher->matches($invocation)) { $this->parametersMatcher->verify(); } } catch (PHPUnit_Framework_ExpectationFailedException $e) { throw new PHPUnit_Framework_ExpectationFailedException(sprintf("Expectation failed for %s when %s\n%s", $this->methodNameMatcher->toString(), $this->invocationMatcher->toString(), $e->getDescription()), $e->getComparisonFailure()); } if ($this->stub) { return $this->stub->invoke($invocation); } return NULL; }
/** * @param \PHPUnit_Framework_MockObject_Invocation $invocation */ public function match(\PHPUnit_Framework_MockObject_Invocation $invocation) { $this->matcher->invoked($invocation); }