public function invoke(\PHPUnit_Framework_MockObject_Invocation $invocation) { if ($this->return instanceof \PHPUnit_Framework_MockObject_Stub) { return $this->return->invoke($invocation); } return $this->return; }
/** * @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->getMessage()), $e->getComparisonFailure()); } if ($this->stub) { return $this->stub->invoke($invocation); } return; }